@datamoc/mw_games 0.20.0 → 0.23.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 (151) hide show
  1. package/CHANGELOG.md +128 -0
  2. package/dist/audio/Channels.d.ts +19 -0
  3. package/dist/audio/Channels.d.ts.map +1 -1
  4. package/dist/audio/Channels.js +33 -4
  5. package/dist/audio/Channels.js.map +1 -1
  6. package/dist/audio/LoopTags.d.ts +37 -0
  7. package/dist/audio/LoopTags.d.ts.map +1 -0
  8. package/dist/audio/LoopTags.js +116 -0
  9. package/dist/audio/LoopTags.js.map +1 -0
  10. package/dist/audio/Midi.d.ts +29 -0
  11. package/dist/audio/Midi.d.ts.map +1 -1
  12. package/dist/audio/Midi.js +30 -1
  13. package/dist/audio/Midi.js.map +1 -1
  14. package/dist/audio/MidiRender.d.ts +3 -2
  15. package/dist/audio/MidiRender.d.ts.map +1 -1
  16. package/dist/audio/MidiRender.js +2 -2
  17. package/dist/audio/MidiRender.js.map +1 -1
  18. package/dist/audio/humanize/Groove.d.ts +80 -0
  19. package/dist/audio/humanize/Groove.d.ts.map +1 -0
  20. package/dist/audio/humanize/Groove.js +102 -0
  21. package/dist/audio/humanize/Groove.js.map +1 -0
  22. package/dist/audio/humanize/GrooveConverter.d.ts +49 -0
  23. package/dist/audio/humanize/GrooveConverter.d.ts.map +1 -0
  24. package/dist/audio/humanize/GrooveConverter.js +344 -0
  25. package/dist/audio/humanize/GrooveConverter.js.map +1 -0
  26. package/dist/audio/humanize/GrooveExtractor.d.ts +49 -0
  27. package/dist/audio/humanize/GrooveExtractor.d.ts.map +1 -0
  28. package/dist/audio/humanize/GrooveExtractor.js +179 -0
  29. package/dist/audio/humanize/GrooveExtractor.js.map +1 -0
  30. package/dist/audio/humanize/GrooveHumanizer.d.ts +34 -0
  31. package/dist/audio/humanize/GrooveHumanizer.d.ts.map +1 -0
  32. package/dist/audio/humanize/GrooveHumanizer.js +37 -0
  33. package/dist/audio/humanize/GrooveHumanizer.js.map +1 -0
  34. package/dist/audio/humanize/Humanize.d.ts +54 -0
  35. package/dist/audio/humanize/Humanize.d.ts.map +1 -0
  36. package/dist/audio/humanize/Humanize.js +239 -0
  37. package/dist/audio/humanize/Humanize.js.map +1 -0
  38. package/dist/audio/humanize/HumanizerFactory.d.ts +68 -0
  39. package/dist/audio/humanize/HumanizerFactory.d.ts.map +1 -0
  40. package/dist/audio/humanize/HumanizerFactory.js +84 -0
  41. package/dist/audio/humanize/HumanizerFactory.js.map +1 -0
  42. package/dist/audio/humanize/LiteHumanizer.d.ts +30 -0
  43. package/dist/audio/humanize/LiteHumanizer.d.ts.map +1 -0
  44. package/dist/audio/humanize/LiteHumanizer.js +35 -0
  45. package/dist/audio/humanize/LiteHumanizer.js.map +1 -0
  46. package/dist/audio/humanize/Onsets.d.ts +26 -0
  47. package/dist/audio/humanize/Onsets.d.ts.map +1 -0
  48. package/dist/audio/humanize/Onsets.js +164 -0
  49. package/dist/audio/humanize/Onsets.js.map +1 -0
  50. package/dist/audio/index.d.ts +14 -1
  51. package/dist/audio/index.d.ts.map +1 -1
  52. package/dist/audio/index.js +7 -0
  53. package/dist/audio/index.js.map +1 -1
  54. package/dist/board/bitboard.d.ts +132 -0
  55. package/dist/board/bitboard.d.ts.map +1 -0
  56. package/dist/board/bitboard.js +495 -0
  57. package/dist/board/bitboard.js.map +1 -0
  58. package/dist/board/chess.d.ts +16 -0
  59. package/dist/board/chess.d.ts.map +1 -1
  60. package/dist/board/chess.js +43 -0
  61. package/dist/board/chess.js.map +1 -1
  62. package/dist/board/index.d.ts +9 -1
  63. package/dist/board/index.d.ts.map +1 -1
  64. package/dist/board/index.js +5 -1
  65. package/dist/board/index.js.map +1 -1
  66. package/dist/board/openings.d.ts +58 -0
  67. package/dist/board/openings.d.ts.map +1 -0
  68. package/dist/board/openings.js +45 -0
  69. package/dist/board/openings.js.map +1 -0
  70. package/dist/board/tablebase.d.ts +118 -0
  71. package/dist/board/tablebase.d.ts.map +1 -0
  72. package/dist/board/tablebase.js +414 -0
  73. package/dist/board/tablebase.js.map +1 -0
  74. package/dist/board/tourney.d.ts +90 -0
  75. package/dist/board/tourney.d.ts.map +1 -0
  76. package/dist/board/tourney.js +1013 -0
  77. package/dist/board/tourney.js.map +1 -0
  78. package/dist/core/JavaRandom.d.ts +55 -0
  79. package/dist/core/JavaRandom.d.ts.map +1 -0
  80. package/dist/core/JavaRandom.js +81 -0
  81. package/dist/core/JavaRandom.js.map +1 -0
  82. package/dist/core/index.d.ts +2 -0
  83. package/dist/core/index.d.ts.map +1 -1
  84. package/dist/core/index.js +1 -0
  85. package/dist/core/index.js.map +1 -1
  86. package/dist/mw_games.global.js +123 -116
  87. package/dist/rpg/EventRunner.d.ts +7 -0
  88. package/dist/rpg/EventRunner.d.ts.map +1 -1
  89. package/dist/rpg/EventRunner.js +6 -0
  90. package/dist/rpg/EventRunner.js.map +1 -1
  91. package/dist/rpg/MoveRoute.d.ts +35 -4
  92. package/dist/rpg/MoveRoute.d.ts.map +1 -1
  93. package/dist/rpg/MoveRoute.js +40 -11
  94. package/dist/rpg/MoveRoute.js.map +1 -1
  95. package/dist/two-d/render/FogLayer.d.ts +68 -0
  96. package/dist/two-d/render/FogLayer.d.ts.map +1 -0
  97. package/dist/two-d/render/FogLayer.js +83 -0
  98. package/dist/two-d/render/FogLayer.js.map +1 -0
  99. package/dist/two-d/render/LiquidLayer.d.ts +62 -0
  100. package/dist/two-d/render/LiquidLayer.d.ts.map +1 -0
  101. package/dist/two-d/render/LiquidLayer.js +102 -0
  102. package/dist/two-d/render/LiquidLayer.js.map +1 -0
  103. package/dist/two-d/render/RpgmAutotile.d.ts +42 -0
  104. package/dist/two-d/render/RpgmAutotile.d.ts.map +1 -1
  105. package/dist/two-d/render/RpgmAutotile.js +71 -4
  106. package/dist/two-d/render/RpgmAutotile.js.map +1 -1
  107. package/dist/two-d/render/TileMap.d.ts +50 -2
  108. package/dist/two-d/render/TileMap.d.ts.map +1 -1
  109. package/dist/two-d/render/TileMap.js +120 -2
  110. package/dist/two-d/render/TileMap.js.map +1 -1
  111. package/dist/two-d/render/index.d.ts +7 -3
  112. package/dist/two-d/render/index.d.ts.map +1 -1
  113. package/dist/two-d/render/index.js +3 -1
  114. package/dist/two-d/render/index.js.map +1 -1
  115. package/dist/two-d/ui/Label.d.ts.map +1 -1
  116. package/dist/two-d/ui/Label.js +11 -2
  117. package/dist/two-d/ui/Label.js.map +1 -1
  118. package/dist/two-d/ui/ListView.d.ts +24 -0
  119. package/dist/two-d/ui/ListView.d.ts.map +1 -1
  120. package/dist/two-d/ui/ListView.js +97 -4
  121. package/dist/two-d/ui/ListView.js.map +1 -1
  122. package/dist/two-d/ui/MessageLog.d.ts +62 -0
  123. package/dist/two-d/ui/MessageLog.d.ts.map +1 -0
  124. package/dist/two-d/ui/MessageLog.js +114 -0
  125. package/dist/two-d/ui/MessageLog.js.map +1 -0
  126. package/dist/two-d/ui/RadioGroup.d.ts +68 -0
  127. package/dist/two-d/ui/RadioGroup.d.ts.map +1 -0
  128. package/dist/two-d/ui/RadioGroup.js +177 -0
  129. package/dist/two-d/ui/RadioGroup.js.map +1 -0
  130. package/dist/two-d/ui/TextModel.d.ts +26 -1
  131. package/dist/two-d/ui/TextModel.d.ts.map +1 -1
  132. package/dist/two-d/ui/TextModel.js +56 -7
  133. package/dist/two-d/ui/TextModel.js.map +1 -1
  134. package/dist/two-d/ui/TextSharpness.d.ts +33 -0
  135. package/dist/two-d/ui/TextSharpness.d.ts.map +1 -0
  136. package/dist/two-d/ui/TextSharpness.js +56 -0
  137. package/dist/two-d/ui/TextSharpness.js.map +1 -0
  138. package/dist/two-d/ui/index.d.ts +5 -0
  139. package/dist/two-d/ui/index.d.ts.map +1 -1
  140. package/dist/two-d/ui/index.js +3 -0
  141. package/dist/two-d/ui/index.js.map +1 -1
  142. package/dist/version.d.ts +1 -1
  143. package/dist/version.js +1 -1
  144. package/package.json +19 -7
  145. package/sbom.cdx.json +194 -32
  146. package/tools/build-tablebases.d.mts +22 -0
  147. package/tools/build-tablebases.mjs +549 -0
  148. package/tools/compile-openings.d.mts +20 -0
  149. package/tools/compile-openings.mjs +130 -0
  150. package/tools/play-uci.d.mts +26 -0
  151. package/tools/play-uci.mjs +194 -0
@@ -0,0 +1,33 @@
1
+ import { type Container } from 'pixi.js';
2
+ /**
3
+ * The zoom a window stack should run at: `base`, stepped down a whole number at a time
4
+ * until `contentHeight` (unzoomed) fits `viewportHeight`, and never below 1. A tall window
5
+ * on a short screen would otherwise be clipped at both ends.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { fitWindowZoom } from '@datamoc/mw_games/two-d/ui';
10
+ *
11
+ * console.log(fitWindowZoom(3, 300, 700)); // 2 - 300 x 3 is too tall, 300 x 2 fits
12
+ * ```
13
+ */
14
+ export declare function fitWindowZoom(base: number, contentHeight: number, viewportHeight: number): number;
15
+ /**
16
+ * Re-rasterises every `Text` under `root` at `devicePixelRatio` times its own on-screen
17
+ * scale, rounded to a whole number. Pixi draws text at the renderer's resolution and knows
18
+ * nothing of a parent's zoom, so text inside a scaled container is otherwise 1x text
19
+ * magnified, and blurry. Call it after a layout or zoom change, not every frame; a text
20
+ * already at the right resolution is left untouched.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * import { Container } from 'pixi.js';
25
+ * import { sharpenText } from '@datamoc/mw_games/two-d/ui';
26
+ *
27
+ * const panel = new Container();
28
+ * panel.scale.set(3);
29
+ * sharpenText(panel, 2); // every Text inside now rasterises at 6x
30
+ * ```
31
+ */
32
+ export declare function sharpenText(root: Container, devicePixelRatio: number): void;
33
+ //# sourceMappingURL=TextSharpness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextSharpness.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/TextSharpness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAIjG;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAS3E"}
@@ -0,0 +1,56 @@
1
+ import { Text } from 'pixi.js';
2
+ /**
3
+ * The zoom a window stack should run at: `base`, stepped down a whole number at a time
4
+ * until `contentHeight` (unzoomed) fits `viewportHeight`, and never below 1. A tall window
5
+ * on a short screen would otherwise be clipped at both ends.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { fitWindowZoom } from '@datamoc/mw_games/two-d/ui';
10
+ *
11
+ * console.log(fitWindowZoom(3, 300, 700)); // 2 - 300 x 3 is too tall, 300 x 2 fits
12
+ * ```
13
+ */
14
+ export function fitWindowZoom(base, contentHeight, viewportHeight) {
15
+ let zoom = Math.max(1, Math.floor(base));
16
+ while (zoom > 1 && contentHeight * zoom > viewportHeight)
17
+ zoom--;
18
+ return zoom;
19
+ }
20
+ /** the product of every scale from `node` up to the stage */
21
+ function cumulativeScale(node) {
22
+ let scale = 1;
23
+ for (let at = node; at; at = at.parent)
24
+ scale *= Math.abs(at.scale.x);
25
+ return scale;
26
+ }
27
+ /**
28
+ * Re-rasterises every `Text` under `root` at `devicePixelRatio` times its own on-screen
29
+ * scale, rounded to a whole number. Pixi draws text at the renderer's resolution and knows
30
+ * nothing of a parent's zoom, so text inside a scaled container is otherwise 1x text
31
+ * magnified, and blurry. Call it after a layout or zoom change, not every frame; a text
32
+ * already at the right resolution is left untouched.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * import { Container } from 'pixi.js';
37
+ * import { sharpenText } from '@datamoc/mw_games/two-d/ui';
38
+ *
39
+ * const panel = new Container();
40
+ * panel.scale.set(3);
41
+ * sharpenText(panel, 2); // every Text inside now rasterises at 6x
42
+ * ```
43
+ */
44
+ export function sharpenText(root, devicePixelRatio) {
45
+ const walk = (node, scale) => {
46
+ if (node instanceof Text) {
47
+ const resolution = devicePixelRatio * Math.max(1, Math.round(scale));
48
+ if (node.resolution !== resolution)
49
+ node.resolution = resolution;
50
+ }
51
+ for (const child of node.children)
52
+ walk(child, scale * Math.abs(child.scale.x));
53
+ };
54
+ walk(root, cumulativeScale(root));
55
+ }
56
+ //# sourceMappingURL=TextSharpness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextSharpness.js","sourceRoot":"","sources":["../../../src/two-d/ui/TextSharpness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,aAAqB,EAAE,cAAsB;IACxF,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,GAAG,CAAC,IAAI,aAAa,GAAG,IAAI,GAAG,cAAc;QAAE,IAAI,EAAE,CAAC;IACjE,OAAO,IAAI,CAAC;AACb,CAAC;AAED,6DAA6D;AAC7D,SAAS,eAAe,CAAC,IAAsB;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM;QAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,IAAe,EAAE,gBAAwB;IACpE,MAAM,IAAI,GAAG,CAAC,IAAe,EAAE,KAAa,EAAQ,EAAE;QACrD,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAClE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,KAAkB,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAE,KAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -2,6 +2,9 @@ export { theme, setTheme, defaultTheme, highContrastTheme, themeChanged } from '
2
2
  export type { Theme } from './theme.ts';
3
3
  export { Label } from './Label.ts';
4
4
  export type { LabelOptions } from './Label.ts';
5
+ export { MessageLog, linesToDrop } from './MessageLog.ts';
6
+ export type { MessageLevel, MessageLogOptions } from './MessageLog.ts';
7
+ export { fitWindowZoom, sharpenText } from './TextSharpness.ts';
5
8
  export { RichLabel } from './RichLabel.ts';
6
9
  export type { RichLabelOptions } from './RichLabel.ts';
7
10
  export { MarkupText } from './MarkupText.ts';
@@ -32,7 +35,9 @@ export type { VerticalLabelOptions, VerticalLayoutOptions, GlyphLayout } from '.
32
35
  export { Slider, sliderFraction, sliderValueAt } from './Slider.ts';
33
36
  export type { SliderOptions } from './Slider.ts';
34
37
  export { Checkbox } from './Checkbox.ts';
38
+ export { RadioGroup } from './RadioGroup.ts';
35
39
  export type { CheckboxOptions } from './Checkbox.ts';
40
+ export type { RadioGroupOptions, RadioOption } from './RadioGroup.ts';
36
41
  export { Spinner, spinValue } from './Spinner.ts';
37
42
  export type { SpinnerOptions } from './Spinner.ts';
38
43
  export { Dropdown } from './Dropdown.ts';
@@ -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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"}
@@ -1,5 +1,7 @@
1
1
  export { theme, setTheme, defaultTheme, highContrastTheme, themeChanged } from './theme.js';
2
2
  export { Label } from './Label.js';
3
+ export { MessageLog, linesToDrop } from './MessageLog.js';
4
+ export { fitWindowZoom, sharpenText } from './TextSharpness.js';
3
5
  export { RichLabel } from './RichLabel.js';
4
6
  export { MarkupText } from './MarkupText.js';
5
7
  export { parseMarkdown, stripMarkdown, sliceSpans } from './markdown.js';
@@ -16,6 +18,7 @@ export { MessageBox } from './MessageBox.js';
16
18
  export { VerticalLabel, layoutVertical } from './VerticalLabel.js';
17
19
  export { Slider, sliderFraction, sliderValueAt } from './Slider.js';
18
20
  export { Checkbox } from './Checkbox.js';
21
+ export { RadioGroup } from './RadioGroup.js';
19
22
  export { Spinner, spinValue } from './Spinner.js';
20
23
  export { Dropdown } from './Dropdown.js';
21
24
  export { TextModel } from './TextModel.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/two-d/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/two-d/ui/index.ts"],"names":[],"mappings":"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"}
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.20.0";
12
+ export declare const version = "0.23.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.20.0';
12
+ export const version = '0.23.0';
13
13
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datamoc/mw_games",
3
- "version": "0.20.0",
3
+ "version": "0.23.0",
4
4
  "description": "A local-file game framework: renderer-free game logic, drawn through PixiJS in 2D or Babylon.js in 3D, with mobile and desktop packaging.",
5
5
  "license": "MPL-2.0",
6
6
  "repository": {
@@ -40,10 +40,13 @@
40
40
  "mwg-i18n": "tools/i18n-edit.mjs",
41
41
  "mwg-lockstep-server": "tools/multiplayer-server.mjs",
42
42
  "mwg-mwl": "tools/mwl.mjs",
43
+ "mwg-openings": "tools/compile-openings.mjs",
43
44
  "mwg-placeholder-assets": "tools/make-example-assets.mjs",
44
45
  "mwg-sbom": "tools/sbom.mjs",
45
46
  "mwg-size": "tools/bundle-size.mjs",
46
- "mwg-smoke": "tools/browser-smoke.mjs"
47
+ "mwg-smoke": "tools/browser-smoke.mjs",
48
+ "mwg-tablebases": "tools/build-tablebases.mjs",
49
+ "mwg-uci": "tools/play-uci.mjs"
47
50
  },
48
51
  "publishConfig": {
49
52
  "access": "public"
@@ -58,6 +61,12 @@
58
61
  "tools/extract-html.d.mts",
59
62
  "tools/compress-dist.mjs",
60
63
  "tools/compress-dist.d.mts",
64
+ "tools/compile-openings.mjs",
65
+ "tools/compile-openings.d.mts",
66
+ "tools/build-tablebases.mjs",
67
+ "tools/build-tablebases.d.mts",
68
+ "tools/play-uci.mjs",
69
+ "tools/play-uci.d.mts",
61
70
  "tools/classic-html.mjs",
62
71
  "tools/classic-html.d.mts",
63
72
  "tools/sbom.mjs",
@@ -188,6 +197,9 @@
188
197
  "./tools/bundle-size": "./tools/bundle-size.mjs",
189
198
  "./tools/classic-html": "./tools/classic-html.mjs",
190
199
  "./tools/compile-resources": "./tools/compile-resources.mjs",
200
+ "./tools/compile-openings": "./tools/compile-openings.mjs",
201
+ "./tools/build-tablebases": "./tools/build-tablebases.mjs",
202
+ "./tools/play-uci": "./tools/play-uci.mjs",
191
203
  "./tools/compress-dist": "./tools/compress-dist.mjs",
192
204
  "./tools/csp": "./tools/csp.mjs",
193
205
  "./tools/emit-page": "./tools/emit-page.mjs",
@@ -331,7 +343,7 @@
331
343
  "peerDependencies": {
332
344
  "@babylonjs/core": "^9.25.0",
333
345
  "@babylonjs/loaders": "^9.25.0",
334
- "@capacitor/core": "^7.4.4",
346
+ "@capacitor/core": "^8.5.2",
335
347
  "pixi.js": "^8.20.1",
336
348
  "playwright-core": "^1.62.1",
337
349
  "ws": "^8.21.3"
@@ -359,10 +371,10 @@
359
371
  "devDependencies": {
360
372
  "@babylonjs/core": "^9.25.0",
361
373
  "@babylonjs/loaders": "^9.25.0",
362
- "@capacitor/android": "^7.4.4",
363
- "@capacitor/cli": "^7.4.4",
364
- "@capacitor/core": "^7.4.4",
365
- "@capacitor/ios": "^7.4.4",
374
+ "@capacitor/android": "^8.5.2",
375
+ "@capacitor/cli": "^8.5.2",
376
+ "@capacitor/core": "^8.5.2",
377
+ "@capacitor/ios": "^8.5.2",
366
378
  "@types/node": "^26.4.1",
367
379
  "@types/ws": "^8.18.1",
368
380
  "multithreading": "^0.3.52",
package/sbom.cdx.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.6",
4
- "serialNumber": "urn:uuid:224ae83a-9a61-53bd-ab61-d8f83739153f",
4
+ "serialNumber": "urn:uuid:522eeb00-0c91-5332-b303-253c17e5c306",
5
5
  "version": 1,
6
6
  "metadata": {
7
7
  "tools": {
@@ -10,16 +10,16 @@
10
10
  "type": "application",
11
11
  "group": "datamoc",
12
12
  "name": "tools/sbom.mjs",
13
- "version": "0.20.0"
13
+ "version": "0.23.0"
14
14
  }
15
15
  ]
16
16
  },
17
17
  "component": {
18
18
  "type": "library",
19
- "bom-ref": "pkg:npm/%40datamoc/mw_games@0.20.0",
19
+ "bom-ref": "pkg:npm/%40datamoc/mw_games@0.23.0",
20
20
  "name": "@datamoc/mw_games",
21
- "version": "0.20.0",
22
- "purl": "pkg:npm/%40datamoc/mw_games@0.20.0",
21
+ "version": "0.23.0",
22
+ "purl": "pkg:npm/%40datamoc/mw_games@0.23.0",
23
23
  "description": "A local-file game framework: renderer-free game logic, drawn through PixiJS in 2D or Babylon.js in 3D, with mobile and desktop packaging.",
24
24
  "licenses": [
25
25
  {
@@ -75,15 +75,15 @@
75
75
  },
76
76
  {
77
77
  "type": "library",
78
- "bom-ref": "pkg:npm/%40capacitor/android@7.6.9",
78
+ "bom-ref": "pkg:npm/%40capacitor/android@8.5.2",
79
79
  "name": "@capacitor/android",
80
- "version": "7.6.9",
81
- "purl": "pkg:npm/%40capacitor/android@7.6.9",
80
+ "version": "8.5.2",
81
+ "purl": "pkg:npm/%40capacitor/android@8.5.2",
82
82
  "scope": "excluded",
83
83
  "hashes": [
84
84
  {
85
85
  "alg": "SHA-512",
86
- "content": "8ef7d4e3668eba3f76fca26a46c71f0e6fb9eb5d96cc96a29c52f4f718c9803f6823738c5cde0f05f71c9fc220f62f31edb915a99bff5cdc05b2188846a9a082"
86
+ "content": "aed89acfbf1e802712fafb36f7091608bdc2f9185acca312ca05dc8eeb7058ff0d98eeabe540713af19fdd68f3e7e6a1a1bc90ef6ded9fd80278fc11c1c34365"
87
87
  }
88
88
  ],
89
89
  "licenses": [
@@ -96,15 +96,15 @@
96
96
  },
97
97
  {
98
98
  "type": "library",
99
- "bom-ref": "pkg:npm/%40capacitor/cli@7.6.9",
99
+ "bom-ref": "pkg:npm/%40capacitor/cli@8.5.2",
100
100
  "name": "@capacitor/cli",
101
- "version": "7.6.9",
102
- "purl": "pkg:npm/%40capacitor/cli@7.6.9",
101
+ "version": "8.5.2",
102
+ "purl": "pkg:npm/%40capacitor/cli@8.5.2",
103
103
  "scope": "excluded",
104
104
  "hashes": [
105
105
  {
106
106
  "alg": "SHA-512",
107
- "content": "4010c47f7f3204015325e85b8b916f026843595d48fdeed9af767a5d7d018fef53fbf398e449066f0e7fd5efb7a08cb279ea6add6b5d4a42d61ecdd5347da008"
107
+ "content": "3b692903964f2540269620c2726a4c7fcc6727031ecf19453d4ae5c8e0236cbdd4f4c14d6379786693c8fd45f0bf23e647c11371517da45afe55d5aaeb5aea4d"
108
108
  }
109
109
  ],
110
110
  "licenses": [
@@ -117,15 +117,15 @@
117
117
  },
118
118
  {
119
119
  "type": "library",
120
- "bom-ref": "pkg:npm/%40capacitor/core@7.6.9",
120
+ "bom-ref": "pkg:npm/%40capacitor/core@8.5.2",
121
121
  "name": "@capacitor/core",
122
- "version": "7.6.9",
123
- "purl": "pkg:npm/%40capacitor/core@7.6.9",
122
+ "version": "8.5.2",
123
+ "purl": "pkg:npm/%40capacitor/core@8.5.2",
124
124
  "scope": "excluded",
125
125
  "hashes": [
126
126
  {
127
127
  "alg": "SHA-512",
128
- "content": "e033a1ff1c920bd4b9af285422aa4ea696ac2328b65a24dd17426e67fd8312cfaf7f97ae9d1cc70dd358069d6c9c0ddf6877224f0ff74951977d1f96918c6c30"
128
+ "content": "6a09d06c67611b0fca645b8b7fb1fd498da8fa813bba992bfd63d0b186a89173fa7fd721684f225666ca91f37a495978c37a66cfba19dd4af585b926cb5871fb"
129
129
  }
130
130
  ],
131
131
  "licenses": [
@@ -138,15 +138,15 @@
138
138
  },
139
139
  {
140
140
  "type": "library",
141
- "bom-ref": "pkg:npm/%40capacitor/ios@7.6.9",
141
+ "bom-ref": "pkg:npm/%40capacitor/ios@8.5.2",
142
142
  "name": "@capacitor/ios",
143
- "version": "7.6.9",
144
- "purl": "pkg:npm/%40capacitor/ios@7.6.9",
143
+ "version": "8.5.2",
144
+ "purl": "pkg:npm/%40capacitor/ios@8.5.2",
145
145
  "scope": "excluded",
146
146
  "hashes": [
147
147
  {
148
148
  "alg": "SHA-512",
149
- "content": "2c034ff354dfc2e264d73abd12e17e2790092bbd6b2838170795c3f951494070bb071487e03b266ba0d2332ae3153d378eda9cff42533047d230113b828dd98c"
149
+ "content": "78e4f64baec07d3146eca3744f7a31c006a3ac9cf8ad2c9ef8e0dfbc2862c2b93417ffa45ae7c5335a94e9c0e318950e7f0740a1eb84a59c961d2c1996ee0616"
150
150
  }
151
151
  ],
152
152
  "licenses": [
@@ -2068,6 +2068,48 @@
2068
2068
  }
2069
2069
  ]
2070
2070
  },
2071
+ {
2072
+ "type": "library",
2073
+ "bom-ref": "pkg:npm/bplist-creator@0.1.0",
2074
+ "name": "bplist-creator",
2075
+ "version": "0.1.0",
2076
+ "purl": "pkg:npm/bplist-creator@0.1.0",
2077
+ "scope": "excluded",
2078
+ "hashes": [
2079
+ {
2080
+ "alg": "SHA-512",
2081
+ "content": "b17687662732104998f3a5b2b9e2d341eb1b7a81ff9aabaf6ab25a40d6e3b8e40efbb81b15c0c45aa2a671603870e4cbcc595f82f922571a259359396c12299a"
2082
+ }
2083
+ ],
2084
+ "licenses": [
2085
+ {
2086
+ "license": {
2087
+ "id": "MIT"
2088
+ }
2089
+ }
2090
+ ]
2091
+ },
2092
+ {
2093
+ "type": "library",
2094
+ "bom-ref": "pkg:npm/bplist-parser@0.3.1",
2095
+ "name": "bplist-parser",
2096
+ "version": "0.3.1",
2097
+ "purl": "pkg:npm/bplist-parser@0.3.1",
2098
+ "scope": "excluded",
2099
+ "hashes": [
2100
+ {
2101
+ "alg": "SHA-512",
2102
+ "content": "3f227188db40e53d8f94b21e068b7895ba7bae3e0e69dce39cc643fc6e73b8136df1e8bfc8253bfb05b48766da83dbebf1cfbf5ae456992c5ba8097d84bd6b04"
2103
+ }
2104
+ ],
2105
+ "licenses": [
2106
+ {
2107
+ "license": {
2108
+ "id": "MIT"
2109
+ }
2110
+ }
2111
+ ]
2112
+ },
2071
2113
  {
2072
2114
  "type": "library",
2073
2115
  "bom-ref": "pkg:npm/bplist-parser@0.3.2",
@@ -3811,6 +3853,27 @@
3811
3853
  }
3812
3854
  ]
3813
3855
  },
3856
+ {
3857
+ "type": "library",
3858
+ "bom-ref": "pkg:npm/simple-plist@1.3.1",
3859
+ "name": "simple-plist",
3860
+ "version": "1.3.1",
3861
+ "purl": "pkg:npm/simple-plist@1.3.1",
3862
+ "scope": "excluded",
3863
+ "hashes": [
3864
+ {
3865
+ "alg": "SHA-512",
3866
+ "content": "88c4b0e62d17b1e327ae1b48cd16fb5e94045dea5af71856c465288c704be37488a50b834248775a9cbaed96c3cd956be842b1bf0542867569765f211152c38b"
3867
+ }
3868
+ ],
3869
+ "licenses": [
3870
+ {
3871
+ "license": {
3872
+ "id": "MIT"
3873
+ }
3874
+ }
3875
+ ]
3876
+ },
3814
3877
  {
3815
3878
  "type": "library",
3816
3879
  "bom-ref": "pkg:npm/sisteransi@1.0.5",
@@ -3916,6 +3979,27 @@
3916
3979
  }
3917
3980
  ]
3918
3981
  },
3982
+ {
3983
+ "type": "library",
3984
+ "bom-ref": "pkg:npm/stream-buffers@2.2.0",
3985
+ "name": "stream-buffers",
3986
+ "version": "2.2.0",
3987
+ "purl": "pkg:npm/stream-buffers@2.2.0",
3988
+ "scope": "excluded",
3989
+ "hashes": [
3990
+ {
3991
+ "alg": "SHA-512",
3992
+ "content": "bb240afe6c794231ee9fcd052c94df69613b26dc1f44c2812e43277bab9d60e9af1f409ac28b556bb4df8181f3027a69867e3e4f0788c7540a3274486e2a6652"
3993
+ }
3994
+ ],
3995
+ "licenses": [
3996
+ {
3997
+ "license": {
3998
+ "id": "Unlicense"
3999
+ }
4000
+ }
4001
+ ]
4002
+ },
3919
4003
  {
3920
4004
  "type": "library",
3921
4005
  "bom-ref": "pkg:npm/string-width@4.2.3",
@@ -4231,6 +4315,27 @@
4231
4315
  }
4232
4316
  ]
4233
4317
  },
4318
+ {
4319
+ "type": "library",
4320
+ "bom-ref": "pkg:npm/uuid@7.0.3",
4321
+ "name": "uuid",
4322
+ "version": "7.0.3",
4323
+ "purl": "pkg:npm/uuid@7.0.3",
4324
+ "scope": "excluded",
4325
+ "hashes": [
4326
+ {
4327
+ "alg": "SHA-512",
4328
+ "content": "0cf4a47b4a57853660a05fddf964add9068a3021527f1ed07a0c44593f893ae1c5e5a5ab2849f41beced8ee260fe01bcfc8b4afab6cf083ff236ff32ca287a0a"
4329
+ }
4330
+ ],
4331
+ "licenses": [
4332
+ {
4333
+ "license": {
4334
+ "id": "MIT"
4335
+ }
4336
+ }
4337
+ ]
4338
+ },
4234
4339
  {
4235
4340
  "type": "library",
4236
4341
  "bom-ref": "pkg:npm/vite@8.3.0",
@@ -4315,6 +4420,27 @@
4315
4420
  }
4316
4421
  ]
4317
4422
  },
4423
+ {
4424
+ "type": "library",
4425
+ "bom-ref": "pkg:npm/xcode@3.0.1",
4426
+ "name": "xcode",
4427
+ "version": "3.0.1",
4428
+ "purl": "pkg:npm/xcode@3.0.1",
4429
+ "scope": "excluded",
4430
+ "hashes": [
4431
+ {
4432
+ "alg": "SHA-512",
4433
+ "content": "902cf993b27b5db26d8c004ebe47399499a488387c5618d5086362a9d282b1c995a5d554a440325efd719822e4409e5db07ab1dc83cee175be3530e153f7dab4"
4434
+ }
4435
+ ],
4436
+ "licenses": [
4437
+ {
4438
+ "license": {
4439
+ "id": "Apache-2.0"
4440
+ }
4441
+ }
4442
+ ]
4443
+ },
4318
4444
  {
4319
4445
  "type": "library",
4320
4446
  "bom-ref": "pkg:npm/xml2js@0.6.2",
@@ -4434,13 +4560,13 @@
4434
4560
  ]
4435
4561
  },
4436
4562
  {
4437
- "ref": "pkg:npm/%40capacitor/android@7.6.9",
4563
+ "ref": "pkg:npm/%40capacitor/android@8.5.2",
4438
4564
  "dependsOn": [
4439
- "pkg:npm/%40capacitor/core@7.6.9"
4565
+ "pkg:npm/%40capacitor/core@8.5.2"
4440
4566
  ]
4441
4567
  },
4442
4568
  {
4443
- "ref": "pkg:npm/%40capacitor/cli@7.6.9",
4569
+ "ref": "pkg:npm/%40capacitor/cli@8.5.2",
4444
4570
  "dependsOn": [
4445
4571
  "pkg:npm/%40ionic/cli-framework-output@2.2.8",
4446
4572
  "pkg:npm/%40ionic/utils-subprocess@3.0.1",
@@ -4458,30 +4584,31 @@
4458
4584
  "pkg:npm/semver@7.8.5",
4459
4585
  "pkg:npm/tar@7.5.22",
4460
4586
  "pkg:npm/tslib@2.8.1",
4587
+ "pkg:npm/xcode@3.0.1",
4461
4588
  "pkg:npm/xml2js@0.6.2"
4462
4589
  ]
4463
4590
  },
4464
4591
  {
4465
- "ref": "pkg:npm/%40capacitor/core@7.6.9",
4592
+ "ref": "pkg:npm/%40capacitor/core@8.5.2",
4466
4593
  "dependsOn": [
4467
4594
  "pkg:npm/tslib@2.8.1"
4468
4595
  ]
4469
4596
  },
4470
4597
  {
4471
- "ref": "pkg:npm/%40capacitor/ios@7.6.9",
4598
+ "ref": "pkg:npm/%40capacitor/ios@8.5.2",
4472
4599
  "dependsOn": [
4473
- "pkg:npm/%40capacitor/core@7.6.9"
4600
+ "pkg:npm/%40capacitor/core@8.5.2"
4474
4601
  ]
4475
4602
  },
4476
4603
  {
4477
- "ref": "pkg:npm/%40datamoc/mw_games@0.20.0",
4604
+ "ref": "pkg:npm/%40datamoc/mw_games@0.23.0",
4478
4605
  "dependsOn": [
4479
4606
  "pkg:npm/%40babylonjs/core@9.27.1",
4480
4607
  "pkg:npm/%40babylonjs/loaders@9.27.1",
4481
- "pkg:npm/%40capacitor/android@7.6.9",
4482
- "pkg:npm/%40capacitor/cli@7.6.9",
4483
- "pkg:npm/%40capacitor/core@7.6.9",
4484
- "pkg:npm/%40capacitor/ios@7.6.9",
4608
+ "pkg:npm/%40capacitor/android@8.5.2",
4609
+ "pkg:npm/%40capacitor/cli@8.5.2",
4610
+ "pkg:npm/%40capacitor/core@8.5.2",
4611
+ "pkg:npm/%40capacitor/ios@8.5.2",
4485
4612
  "pkg:npm/%40types/node@26.6.2",
4486
4613
  "pkg:npm/%40types/ws@8.18.1",
4487
4614
  "pkg:npm/fengari@0.1.5",
@@ -4943,6 +5070,18 @@
4943
5070
  "ref": "pkg:npm/big-integer@1.6.52",
4944
5071
  "dependsOn": []
4945
5072
  },
5073
+ {
5074
+ "ref": "pkg:npm/bplist-creator@0.1.0",
5075
+ "dependsOn": [
5076
+ "pkg:npm/stream-buffers@2.2.0"
5077
+ ]
5078
+ },
5079
+ {
5080
+ "ref": "pkg:npm/bplist-parser@0.3.1",
5081
+ "dependsOn": [
5082
+ "pkg:npm/big-integer@1.6.52"
5083
+ ]
5084
+ },
4946
5085
  {
4947
5086
  "ref": "pkg:npm/bplist-parser@0.3.2",
4948
5087
  "dependsOn": [
@@ -5431,6 +5570,14 @@
5431
5570
  "ref": "pkg:npm/signal-exit@3.0.7",
5432
5571
  "dependsOn": []
5433
5572
  },
5573
+ {
5574
+ "ref": "pkg:npm/simple-plist@1.3.1",
5575
+ "dependsOn": [
5576
+ "pkg:npm/bplist-creator@0.1.0",
5577
+ "pkg:npm/bplist-parser@0.3.1",
5578
+ "pkg:npm/plist@3.1.1"
5579
+ ]
5580
+ },
5434
5581
  {
5435
5582
  "ref": "pkg:npm/sisteransi@1.0.5",
5436
5583
  "dependsOn": []
@@ -5455,6 +5602,10 @@
5455
5602
  "ref": "pkg:npm/sprintf-js@1.1.3",
5456
5603
  "dependsOn": []
5457
5604
  },
5605
+ {
5606
+ "ref": "pkg:npm/stream-buffers@2.2.0",
5607
+ "dependsOn": []
5608
+ },
5458
5609
  {
5459
5610
  "ref": "pkg:npm/string-width@4.2.3",
5460
5611
  "dependsOn": [
@@ -5555,6 +5706,10 @@
5555
5706
  "ref": "pkg:npm/util-deprecate@1.0.2",
5556
5707
  "dependsOn": []
5557
5708
  },
5709
+ {
5710
+ "ref": "pkg:npm/uuid@7.0.3",
5711
+ "dependsOn": []
5712
+ },
5558
5713
  {
5559
5714
  "ref": "pkg:npm/vite@8.3.0",
5560
5715
  "dependsOn": [
@@ -5585,6 +5740,13 @@
5585
5740
  "ref": "pkg:npm/ws@8.21.3",
5586
5741
  "dependsOn": []
5587
5742
  },
5743
+ {
5744
+ "ref": "pkg:npm/xcode@3.0.1",
5745
+ "dependsOn": [
5746
+ "pkg:npm/simple-plist@1.3.1",
5747
+ "pkg:npm/uuid@7.0.3"
5748
+ ]
5749
+ },
5588
5750
  {
5589
5751
  "ref": "pkg:npm/xml2js@0.6.2",
5590
5752
  "dependsOn": [