@datamoc/mw_games 0.36.1 → 0.38.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 (132) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +32 -2
  3. package/api-surface.json +384 -0
  4. package/dist/assets/paths.d.ts.map +1 -1
  5. package/dist/assets/paths.js +3 -0
  6. package/dist/assets/paths.js.map +1 -1
  7. package/dist/audio/Playable.d.ts.map +1 -1
  8. package/dist/audio/Playable.js +14 -1
  9. package/dist/audio/Playable.js.map +1 -1
  10. package/dist/audio/Synth.d.ts +14 -0
  11. package/dist/audio/Synth.d.ts.map +1 -1
  12. package/dist/audio/Synth.js +16 -0
  13. package/dist/audio/Synth.js.map +1 -1
  14. package/dist/audio/index.d.ts +1 -1
  15. package/dist/audio/index.d.ts.map +1 -1
  16. package/dist/audio/index.js +1 -1
  17. package/dist/audio/index.js.map +1 -1
  18. package/dist/core/FixedStepper.d.ts +38 -0
  19. package/dist/core/FixedStepper.d.ts.map +1 -0
  20. package/dist/core/FixedStepper.js +56 -0
  21. package/dist/core/FixedStepper.js.map +1 -0
  22. package/dist/core/Input.d.ts +61 -0
  23. package/dist/core/Input.d.ts.map +1 -1
  24. package/dist/core/Input.js +101 -0
  25. package/dist/core/Input.js.map +1 -1
  26. package/dist/core/StoredValue.d.ts +11 -2
  27. package/dist/core/StoredValue.d.ts.map +1 -1
  28. package/dist/core/StoredValue.js +11 -2
  29. package/dist/core/StoredValue.js.map +1 -1
  30. package/dist/core/index.d.ts +3 -1
  31. package/dist/core/index.d.ts.map +1 -1
  32. package/dist/core/index.js +3 -1
  33. package/dist/core/index.js.map +1 -1
  34. package/dist/mw_games.global.js +121 -121
  35. package/dist/mwl/presentation.d.ts +70 -0
  36. package/dist/mwl/presentation.d.ts.map +1 -0
  37. package/dist/mwl/presentation.js +412 -0
  38. package/dist/mwl/presentation.js.map +1 -0
  39. package/dist/physics/PhysicsWorld.d.ts +123 -0
  40. package/dist/physics/PhysicsWorld.d.ts.map +1 -0
  41. package/dist/physics/PhysicsWorld.js +137 -0
  42. package/dist/physics/PhysicsWorld.js.map +1 -0
  43. package/dist/physics/XpbdWorld.d.ts +139 -0
  44. package/dist/physics/XpbdWorld.d.ts.map +1 -0
  45. package/dist/physics/XpbdWorld.js +207 -0
  46. package/dist/physics/XpbdWorld.js.map +1 -0
  47. package/dist/physics/index.d.ts +3 -0
  48. package/dist/physics/index.d.ts.map +1 -0
  49. package/dist/physics/index.js +2 -0
  50. package/dist/physics/index.js.map +1 -0
  51. package/dist/physics/xpbd.d.ts +3 -0
  52. package/dist/physics/xpbd.d.ts.map +1 -0
  53. package/dist/physics/xpbd.js +2 -0
  54. package/dist/physics/xpbd.js.map +1 -0
  55. package/dist/two-d/presentation/MwlPresentation.d.ts +98 -0
  56. package/dist/two-d/presentation/MwlPresentation.d.ts.map +1 -0
  57. package/dist/two-d/presentation/MwlPresentation.js +704 -0
  58. package/dist/two-d/presentation/MwlPresentation.js.map +1 -0
  59. package/dist/two-d/presentation/index.d.ts +3 -0
  60. package/dist/two-d/presentation/index.d.ts.map +1 -0
  61. package/dist/two-d/presentation/index.js +2 -0
  62. package/dist/two-d/presentation/index.js.map +1 -0
  63. package/dist/two-d/render/Camera.d.ts +6 -0
  64. package/dist/two-d/render/Camera.d.ts.map +1 -1
  65. package/dist/two-d/render/Camera.js +9 -0
  66. package/dist/two-d/render/Camera.js.map +1 -1
  67. package/dist/two-d/render/Particles.d.ts +10 -1
  68. package/dist/two-d/render/Particles.d.ts.map +1 -1
  69. package/dist/two-d/render/Particles.js +14 -7
  70. package/dist/two-d/render/Particles.js.map +1 -1
  71. package/dist/two-d/render/Shape2D.d.ts +7 -0
  72. package/dist/two-d/render/Shape2D.d.ts.map +1 -1
  73. package/dist/two-d/render/Shape2D.js +18 -0
  74. package/dist/two-d/render/Shape2D.js.map +1 -1
  75. package/dist/two-d/render/SpriteSheet.d.ts +5 -0
  76. package/dist/two-d/render/SpriteSheet.d.ts.map +1 -1
  77. package/dist/two-d/render/SpriteSheet.js +15 -0
  78. package/dist/two-d/render/SpriteSheet.js.map +1 -1
  79. package/dist/two-d/ui/Bar.d.ts +3 -1
  80. package/dist/two-d/ui/Bar.d.ts.map +1 -1
  81. package/dist/two-d/ui/Bar.js +5 -0
  82. package/dist/two-d/ui/Bar.js.map +1 -1
  83. package/dist/two-d/ui/Button.d.ts +19 -0
  84. package/dist/two-d/ui/Button.d.ts.map +1 -1
  85. package/dist/two-d/ui/Button.js +30 -4
  86. package/dist/two-d/ui/Button.js.map +1 -1
  87. package/dist/two-d/ui/Dropdown.d.ts +3 -0
  88. package/dist/two-d/ui/Dropdown.d.ts.map +1 -1
  89. package/dist/two-d/ui/Dropdown.js +3 -0
  90. package/dist/two-d/ui/Dropdown.js.map +1 -1
  91. package/dist/two-d/ui/DropdownView.d.ts +40 -0
  92. package/dist/two-d/ui/DropdownView.d.ts.map +1 -0
  93. package/dist/two-d/ui/DropdownView.js +75 -0
  94. package/dist/two-d/ui/DropdownView.js.map +1 -0
  95. package/dist/two-d/ui/Label.d.ts +2 -0
  96. package/dist/two-d/ui/Label.d.ts.map +1 -1
  97. package/dist/two-d/ui/Label.js +7 -0
  98. package/dist/two-d/ui/Label.js.map +1 -1
  99. package/dist/two-d/ui/Layout.d.ts +34 -0
  100. package/dist/two-d/ui/Layout.d.ts.map +1 -1
  101. package/dist/two-d/ui/Layout.js +47 -0
  102. package/dist/two-d/ui/Layout.js.map +1 -1
  103. package/dist/two-d/ui/Window.d.ts +17 -0
  104. package/dist/two-d/ui/Window.d.ts.map +1 -1
  105. package/dist/two-d/ui/Window.js +28 -4
  106. package/dist/two-d/ui/Window.js.map +1 -1
  107. package/dist/two-d/ui/index.d.ts +6 -2
  108. package/dist/two-d/ui/index.d.ts.map +1 -1
  109. package/dist/two-d/ui/index.js +2 -1
  110. package/dist/two-d/ui/index.js.map +1 -1
  111. package/dist/version.d.ts +1 -1
  112. package/dist/version.js +1 -1
  113. package/package.json +36 -2
  114. package/sbom.cdx.json +58 -6
  115. package/tools/browser-driver.d.mts +14 -0
  116. package/tools/browser-driver.mjs +62 -0
  117. package/tools/build-tablebases.mjs +6 -2
  118. package/tools/classic-html.mjs +9 -1
  119. package/tools/compile-openings.mjs +6 -2
  120. package/tools/compile-resources.d.mts +5 -0
  121. package/tools/compile-resources.mjs +45 -4
  122. package/tools/compress-dist.mjs +15 -3
  123. package/tools/emit-page.mjs +5 -1
  124. package/tools/init.d.mts +5 -0
  125. package/tools/init.mjs +145 -0
  126. package/tools/play-uci.mjs +6 -3
  127. package/tools/sbom.mjs +5 -1
  128. package/tools/single-file.mjs +9 -1
  129. package/tools/verify-scenarios.d.mts +15 -0
  130. package/tools/verify-scenarios.mjs +129 -0
  131. package/tools/vite.mjs +5 -0
  132. package/tools/webp-convert.mjs +9 -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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"}
@@ -46,6 +46,8 @@ export { Spinner, spinValue } from './Spinner.ts';
46
46
  export type { SpinnerOptions } from './Spinner.ts';
47
47
  export { Dropdown } from './Dropdown.ts';
48
48
  export type { DropdownOption, DropdownOptions } from './Dropdown.ts';
49
+ export { DropdownView } from './DropdownView.ts';
50
+ export type { DropdownViewOptions } from './DropdownView.ts';
49
51
  export { TextModel } from './TextModel.ts';
50
52
  export type { TextModelOptions } from './TextModel.ts';
51
53
  export { DataTable } from './DataTable.ts';
@@ -54,8 +56,8 @@ export { TreeView } from './TreeView.ts';
54
56
  export type { TreeNode, TreeRow, TreeViewOptions } from './TreeView.ts';
55
57
  export { ScrollBox, scrollOffset } from './ScrollBox.ts';
56
58
  export type { ScrollBoxOptions } from './ScrollBox.ts';
57
- export { Grid, anchorAlign, resolveAnchor } from './Layout.ts';
58
- export type { Anchor, AnchorSpec, GridSpec, GridTrack, LayoutRect } from './Layout.ts';
59
+ export { Grid, anchorAlign, resolveAnchor, flowLayout } from './Layout.ts';
60
+ export type { Anchor, AnchorSpec, FlowItem, FlowOptions, FlowResult, GridSpec, GridTrack, LayoutRect, } from './Layout.ts';
59
61
  export { Skins } from './Skins.ts';
60
62
  export type { Skin, SkinData, SkinStates, WidgetState } from './Skins.ts';
61
63
  export { RebindScreen } from './RebindScreen.ts';
@@ -64,6 +66,8 @@ export { SettingsScreen } from './SettingsScreen.ts';
64
66
  export type { SettingsCustomRow, SettingsScreenOptions } from './SettingsScreen.ts';
65
67
  export { Button } from './Button.ts';
66
68
  export type { ButtonOptions, ButtonSkin, ButtonState } from './Button.ts';
69
+ export type { ButtonColors } from './Button.ts';
70
+ export type { WindowColors } from './Window.ts';
67
71
  export { Meter } from './Meter.ts';
68
72
  export type { MeterOptions } from './Meter.ts';
69
73
  export { Bar } from './Bar.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","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;AAC5F,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3E,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,oBAAoB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzF,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9G,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE9G,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/index.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,12 @@ export { Checkbox } from './Checkbox.js';
23
23
  export { RadioGroup } from './RadioGroup.js';
24
24
  export { Spinner, spinValue } from './Spinner.js';
25
25
  export { Dropdown } from './Dropdown.js';
26
+ export { DropdownView } from './DropdownView.js';
26
27
  export { TextModel } from './TextModel.js';
27
28
  export { DataTable } from './DataTable.js';
28
29
  export { TreeView } from './TreeView.js';
29
30
  export { ScrollBox, scrollOffset } from './ScrollBox.js';
30
- export { Grid, anchorAlign, resolveAnchor } from './Layout.js';
31
+ export { Grid, anchorAlign, resolveAnchor, flowLayout } from './Layout.js';
31
32
  export { Skins } from './Skins.js';
32
33
  export { RebindScreen } from './RebindScreen.js';
33
34
  export { SettingsScreen } from './SettingsScreen.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.36.1";
12
+ export declare const version = "0.38.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.36.1';
12
+ export const version = '0.38.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.36.1",
3
+ "version": "0.38.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": {
@@ -39,11 +39,13 @@
39
39
  "mwg-emit": "tools/emit-page.mjs",
40
40
  "mwg-extract-rgssad": "tools/extract-rgssad.mjs",
41
41
  "mwg-i18n": "tools/i18n-edit.mjs",
42
+ "mwg-init": "tools/init.mjs",
42
43
  "mwg-lockstep-server": "tools/multiplayer-server.mjs",
43
44
  "mwg-mwl": "tools/mwl.mjs",
44
45
  "mwg-openings": "tools/compile-openings.mjs",
45
46
  "mwg-placeholder-assets": "tools/make-example-assets.mjs",
46
47
  "mwg-sbom": "tools/sbom.mjs",
48
+ "mwg-scenarios": "tools/verify-scenarios.mjs",
47
49
  "mwg-size": "tools/bundle-size.mjs",
48
50
  "mwg-smoke": "tools/browser-smoke.mjs",
49
51
  "mwg-tablebases": "tools/build-tablebases.mjs",
@@ -68,6 +70,10 @@
68
70
  "tools/build-tablebases.d.mts",
69
71
  "tools/play-uci.mjs",
70
72
  "tools/play-uci.d.mts",
73
+ "tools/init.mjs",
74
+ "tools/init.d.mts",
75
+ "tools/verify-scenarios.mjs",
76
+ "tools/verify-scenarios.d.mts",
71
77
  "tools/classic-html.mjs",
72
78
  "tools/classic-html.d.mts",
73
79
  "tools/sbom.mjs",
@@ -113,6 +119,14 @@
113
119
  "MWG - Best Practices.md"
114
120
  ],
115
121
  "exports": {
122
+ "./mwl/presentation": {
123
+ "types": "./dist/mwl/presentation.d.ts",
124
+ "import": "./dist/mwl/presentation.js"
125
+ },
126
+ "./two-d/presentation": {
127
+ "types": "./dist/two-d/presentation/index.d.ts",
128
+ "import": "./dist/two-d/presentation/index.js"
129
+ },
116
130
  ".": {
117
131
  "types": "./dist/index.d.ts",
118
132
  "import": "./dist/index.js"
@@ -161,6 +175,14 @@
161
175
  "types": "./dist/i18n/index.d.ts",
162
176
  "import": "./dist/i18n/index.js"
163
177
  },
178
+ "./physics": {
179
+ "types": "./dist/physics/index.d.ts",
180
+ "import": "./dist/physics/index.js"
181
+ },
182
+ "./physics/xpbd": {
183
+ "types": "./dist/physics/xpbd.d.ts",
184
+ "import": "./dist/physics/xpbd.js"
185
+ },
164
186
  "./skeleton": {
165
187
  "types": "./dist/skeleton/index.d.ts",
166
188
  "import": "./dist/skeleton/index.js"
@@ -211,6 +233,8 @@
211
233
  "./tools/compile-resources": "./tools/compile-resources.mjs",
212
234
  "./tools/compile-openings": "./tools/compile-openings.mjs",
213
235
  "./tools/build-tablebases": "./tools/build-tablebases.mjs",
236
+ "./tools/init": "./tools/init.mjs",
237
+ "./tools/verify-scenarios": "./tools/verify-scenarios.mjs",
214
238
  "./tools/play-uci": "./tools/play-uci.mjs",
215
239
  "./tools/compress-dist": "./tools/compress-dist.mjs",
216
240
  "./tools/csp": "./tools/csp.mjs",
@@ -286,6 +310,9 @@
286
310
  "i18n:edit": "node tools/i18n-edit.mjs",
287
311
  "i18n:check": "node tools/i18n-edit.mjs --check",
288
312
  "example:ui": "vite --config examples/interface/vite.config.ts",
313
+ "example:mwl-presentation": "npm run build:pkg && node examples/mwl-presentation/generate.mjs && vite --config examples/mwl-presentation/vite.config.ts",
314
+ "example:mwl-presentation:build": "npm run build:pkg && node examples/mwl-presentation/generate.mjs && vite build --config examples/mwl-presentation/vite.config.ts && node tools/emit-page.mjs examples/mwl-presentation --assets=examples/mwl-presentation/assets",
315
+ "visual:smoke:presentation": "npm run example:mwl-presentation:build && node tools/presentation-smoke.mjs",
289
316
  "example:ui:build": "vite build --config examples/interface/vite.config.ts && node tools/emit-page.mjs examples/interface --assets=examples/assets",
290
317
  "example:dialogue": "vite --config examples/dialogue/vite.config.ts",
291
318
  "example:dialogue:build": "vite build --config examples/dialogue/vite.config.ts && node tools/emit-page.mjs examples/dialogue --assets=examples/assets",
@@ -361,7 +388,8 @@
361
388
  "desktop:run": "npm run mobile:build && dotnet run --project desktop/MwgDesktopHost",
362
389
  "multiplayer:server": "node tools/multiplayer-server.mjs",
363
390
  "roadmap:progress": "node tools/roadmap-progress.mjs",
364
- "roadmap:browser": "node tools/roadmap-progress.mjs --browser"
391
+ "roadmap:browser": "node tools/roadmap-progress.mjs --browser",
392
+ "alias:write": "node tools/make-alias-package.mjs"
365
393
  },
366
394
  "dependencies": {
367
395
  "json5": "^2.2.3",
@@ -371,6 +399,7 @@
371
399
  "@babylonjs/core": "^9.25.0",
372
400
  "@babylonjs/loaders": "^9.25.0",
373
401
  "@capacitor/core": "^8.5.2",
402
+ "matter-js": "^0.20.0",
374
403
  "pixi.js": "^8.20.1",
375
404
  "playwright-core": "^1.62.1",
376
405
  "ws": "^8.21.3"
@@ -393,6 +422,9 @@
393
422
  },
394
423
  "ws": {
395
424
  "optional": true
425
+ },
426
+ "matter-js": {
427
+ "optional": true
396
428
  }
397
429
  },
398
430
  "devDependencies": {
@@ -402,8 +434,10 @@
402
434
  "@capacitor/cli": "^8.5.2",
403
435
  "@capacitor/core": "^8.5.2",
404
436
  "@capacitor/ios": "^8.5.2",
437
+ "@types/matter-js": "^0.20.2",
405
438
  "@types/node": "^26.4.1",
406
439
  "@types/ws": "^8.18.1",
440
+ "matter-js": "^0.20.0",
407
441
  "multithreading": "^0.3.52",
408
442
  "pixi.js": "^8.20.1",
409
443
  "playwright-core": "^1.62.1",
package/sbom.cdx.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.6",
4
- "serialNumber": "urn:uuid:17cd32d6-94ff-58fa-90e1-9bec6171c507",
4
+ "serialNumber": "urn:uuid:53986a29-5c37-578e-bb00-52dad3cade61",
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.36.1"
13
+ "version": "0.38.0"
14
14
  }
15
15
  ]
16
16
  },
17
17
  "component": {
18
18
  "type": "library",
19
- "bom-ref": "pkg:npm/%40datamoc/mw_games@0.36.1",
19
+ "bom-ref": "pkg:npm/%40datamoc/mw_games@0.38.0",
20
20
  "name": "@datamoc/mw_games",
21
- "version": "0.36.1",
22
- "purl": "pkg:npm/%40datamoc/mw_games@0.36.1",
21
+ "version": "0.38.0",
22
+ "purl": "pkg:npm/%40datamoc/mw_games@0.38.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
  {
@@ -1375,6 +1375,27 @@
1375
1375
  }
1376
1376
  ]
1377
1377
  },
1378
+ {
1379
+ "type": "library",
1380
+ "bom-ref": "pkg:npm/%40types/matter-js@0.20.2",
1381
+ "name": "@types/matter-js",
1382
+ "version": "0.20.2",
1383
+ "purl": "pkg:npm/%40types/matter-js@0.20.2",
1384
+ "scope": "excluded",
1385
+ "hashes": [
1386
+ {
1387
+ "alg": "SHA-512",
1388
+ "content": "dcf3cacb7431bd9f3d87dfb0741576e3cf08d492d5b3b0c4a4890fbe03bc242d6651d89548edfb648bd572d3930fb848abc3802f6809dee8064ae522a7a0e10b"
1389
+ }
1390
+ ],
1391
+ "licenses": [
1392
+ {
1393
+ "license": {
1394
+ "id": "MIT"
1395
+ }
1396
+ }
1397
+ ]
1398
+ },
1378
1399
  {
1379
1400
  "type": "library",
1380
1401
  "bom-ref": "pkg:npm/%40types/node@26.6.5",
@@ -3160,6 +3181,27 @@
3160
3181
  }
3161
3182
  ]
3162
3183
  },
3184
+ {
3185
+ "type": "library",
3186
+ "bom-ref": "pkg:npm/matter-js@0.20.0",
3187
+ "name": "matter-js",
3188
+ "version": "0.20.0",
3189
+ "purl": "pkg:npm/matter-js@0.20.0",
3190
+ "scope": "excluded",
3191
+ "hashes": [
3192
+ {
3193
+ "alg": "SHA-512",
3194
+ "content": "882f5f611ef3553dc7a69367b05b29f573a841d40ddad5327da2a0e021cb1fc6cdfa3e864f81b0ec81f6acfd2d7e501e6eb1c5c3bdf4451dc3915499457f21c0"
3195
+ }
3196
+ ],
3197
+ "licenses": [
3198
+ {
3199
+ "license": {
3200
+ "id": "MIT"
3201
+ }
3202
+ }
3203
+ ]
3204
+ },
3163
3205
  {
3164
3206
  "type": "library",
3165
3207
  "bom-ref": "pkg:npm/minimatch@10.2.6",
@@ -4601,7 +4643,7 @@
4601
4643
  ]
4602
4644
  },
4603
4645
  {
4604
- "ref": "pkg:npm/%40datamoc/mw_games@0.36.1",
4646
+ "ref": "pkg:npm/%40datamoc/mw_games@0.38.0",
4605
4647
  "dependsOn": [
4606
4648
  "pkg:npm/%40babylonjs/core@9.30.0",
4607
4649
  "pkg:npm/%40babylonjs/loaders@9.30.0",
@@ -4610,9 +4652,11 @@
4610
4652
  "pkg:npm/%40capacitor/core@8.5.3",
4611
4653
  "pkg:npm/%40capacitor/ios@8.5.3",
4612
4654
  "pkg:npm/%40datamoc/pyroeis@0.9.0",
4655
+ "pkg:npm/%40types/matter-js@0.20.2",
4613
4656
  "pkg:npm/%40types/node@26.6.5",
4614
4657
  "pkg:npm/%40types/ws@8.18.2",
4615
4658
  "pkg:npm/json5@2.2.3",
4659
+ "pkg:npm/matter-js@0.20.0",
4616
4660
  "pkg:npm/multithreading@0.3.52",
4617
4661
  "pkg:npm/pixi.js@8.22.0",
4618
4662
  "pkg:npm/playwright-core@1.64.0",
@@ -4936,6 +4980,10 @@
4936
4980
  "pkg:npm/%40types/node@26.6.5"
4937
4981
  ]
4938
4982
  },
4983
+ {
4984
+ "ref": "pkg:npm/%40types/matter-js@0.20.2",
4985
+ "dependsOn": []
4986
+ },
4939
4987
  {
4940
4988
  "ref": "pkg:npm/%40types/node@26.6.5",
4941
4989
  "dependsOn": [
@@ -5337,6 +5385,10 @@
5337
5385
  "ref": "pkg:npm/lru-cache@11.5.3",
5338
5386
  "dependsOn": []
5339
5387
  },
5388
+ {
5389
+ "ref": "pkg:npm/matter-js@0.20.0",
5390
+ "dependsOn": []
5391
+ },
5340
5392
  {
5341
5393
  "ref": "pkg:npm/minimatch@10.2.6",
5342
5394
  "dependsOn": [
@@ -38,6 +38,8 @@ export interface BrowserDriver {
38
38
  evaluate<T>(expression: string): Promise<T>;
39
39
  script<Args extends unknown[], T>(fn: (...args: Args) => T | Promise<T>, ...args: Args): Promise<T>;
40
40
  tap(xFraction: number, yFraction: number): Promise<void>;
41
+ /** presses at one canvas fraction, moves to another with the button held in `steps` moves (default 8), releases */
42
+ drag(fromX: number, fromY: number, toX: number, toY: number, steps?: number): Promise<void>;
41
43
  screenshot(): Promise<Buffer>;
42
44
  consoleErrors(): string[];
43
45
  close(): Promise<void>;
@@ -77,6 +79,18 @@ export function parseBidiEndpoint(stderr: string): string | null;
77
79
  /** the CDP Input.dispatchMouseEvent sequence a tap is, at CSS pixels */
78
80
  export function buildTapSequence(x: number, y: number): CdpMouseEvent[];
79
81
 
82
+ /** the CDP Input.dispatchMouseEvent sequence a drag is: press, held moves, release, at CSS pixels */
83
+ export function buildDragSequence(
84
+ x1: number,
85
+ y1: number,
86
+ x2: number,
87
+ y2: number,
88
+ steps?: number,
89
+ ): Record<string, unknown>[];
90
+
91
+ /** the in-page synthetic pointer drag, the Firefox path (see pageTapSource) */
92
+ export function pageDragSource(x1: number, y1: number, x2: number, y2: number, steps?: number): string;
93
+
80
94
  /** the BiDi input.performActions pointer half of a tap, at CSS pixels */
81
95
  export function buildPointerActions(x: number, y: number): BidiPointerAction[];
82
96
 
@@ -146,6 +146,47 @@ export function buildTapSequence(x, y) {
146
146
  ];
147
147
  }
148
148
 
149
+ /** `steps` evenly spaced points from (x1, y1) to (x2, y2), both ends included */
150
+ function dragPath(x1, y1, x2, y2, steps) {
151
+ const count = Math.max(1, Math.floor(steps));
152
+ return Array.from({ length: count + 1 }, (_, i) => ({
153
+ x: Math.round(x1 + ((x2 - x1) * i) / count),
154
+ y: Math.round(y1 + ((y2 - y1) * i) / count),
155
+ }));
156
+ }
157
+
158
+ /**
159
+ * The CDP `Input.dispatchMouseEvent` sequence a drag is: press at the start, move through
160
+ * `steps` intermediate points with the button held, release at the end - the down, move, up a
161
+ * pointer-drag handler (a bridge builder, a slider, a pan) needs and `tap` cannot give.
162
+ */
163
+ export function buildDragSequence(x1, y1, x2, y2, steps = 8) {
164
+ const path = dragPath(x1, y1, x2, y2, steps);
165
+ const last = path[path.length - 1];
166
+ return [
167
+ { type: 'mouseMoved', x: x1, y: y1, button: 'none', buttons: 0 },
168
+ { type: 'mousePressed', x: x1, y: y1, button: 'left', buttonValue: 0, clickCount: 1, buttons: 1 },
169
+ ...path.slice(1).map((p) => ({ type: 'mouseMoved', x: p.x, y: p.y, button: 'left', buttons: 1 })),
170
+ { type: 'mouseReleased', x: last.x, y: last.y, button: 'left', buttonValue: 0, clickCount: 1, buttons: 0 },
171
+ ];
172
+ }
173
+
174
+ /** the in-page counterpart of `buildDragSequence` for Firefox, for the reason `pageTapSource` exists */
175
+ export function pageDragSource(x1, y1, x2, y2, steps = 8) {
176
+ const path = dragPath(x1, y1, x2, y2, steps);
177
+ return `(() => {
178
+ const canvas = document.querySelector("canvas");
179
+ const base = { bubbles: true, cancelable: true, composed: true, pointerId: 1, pointerType: "mouse", isPrimary: true, button: 0 };
180
+ const fire = (type, x, y, buttons) => canvas.dispatchEvent(new PointerEvent(type, { ...base, clientX: x, clientY: y, buttons }));
181
+ const path = ${JSON.stringify(path)};
182
+ fire("pointermove", path[0].x, path[0].y, 0);
183
+ fire("pointerdown", path[0].x, path[0].y, 1);
184
+ for (const p of path.slice(1)) fire("pointermove", p.x, p.y, 1);
185
+ const end = path[path.length - 1];
186
+ fire("pointerup", end.x, end.y, 0);
187
+ })()`;
188
+ }
189
+
149
190
  /**
150
191
  * The named keys a game binds, with everything each input protocol needs: the
151
192
  * DOM `code`, the Windows virtual-key code CDP wants, the character the key types
@@ -520,6 +561,13 @@ async function waitForReadyPage(evaluate, consoleErrors, url, timeoutMs = READY_
520
561
  }
521
562
  }
522
563
 
564
+ /** the canvas rectangle in CSS pixels, which canvas fractions are measured against */
565
+ function canvasBox(evaluate) {
566
+ return evaluate(
567
+ '(() => { const box = document.querySelector("canvas").getBoundingClientRect(); return { x: box.x, y: box.y, w: box.width, h: box.height }; })()',
568
+ );
569
+ }
570
+
523
571
  /** runs a consumer function against the live page, awaiting it when it is async */
524
572
  function runPageScript(evaluate, fn, args) {
525
573
  return evaluate(`(${fn.toString()})(...${JSON.stringify(args)})`, true);
@@ -616,6 +664,14 @@ export async function driveChrome(options = {}) {
616
664
  await cdp.send('Input.dispatchMouseEvent', event);
617
665
  }
618
666
  },
667
+ /** press at one canvas fraction, move to another with the button held, release */
668
+ drag: async (fromX, fromY, toX, toY, steps) => {
669
+ const box = await canvasBox(evaluate);
670
+ const at = (fx, fy) => [Math.round(box.x + box.w * fx), Math.round(box.y + box.h * fy)];
671
+ for (const event of buildDragSequence(...at(fromX, fromY), ...at(toX, toY), steps)) {
672
+ await cdp.send('Input.dispatchMouseEvent', event);
673
+ }
674
+ },
619
675
  /** presses and releases one key through Chrome's trusted input channel (P41) */
620
676
  press: async (key, holdMs = 60) => {
621
677
  const sequence = cdpKeySequence(key);
@@ -769,6 +825,12 @@ export async function driveFirefox(options = {}) {
769
825
  //actions never reach Pixi 8's EventSystem, and this is the measured-working path.
770
826
  await evaluate(pageTapSource(x, y), true);
771
827
  },
828
+ /** press at one canvas fraction, move to another with the button held, release */
829
+ drag: async (fromX, fromY, toX, toY, steps) => {
830
+ const box = await canvasBox(evaluate);
831
+ const at = (fx, fy) => [Math.round(box.x + box.w * fx), Math.round(box.y + box.h * fy)];
832
+ await evaluate(pageDragSource(...at(fromX, fromY), ...at(toX, toY), steps), true);
833
+ },
772
834
  /** presses and releases one key through WebDriver's key actions (P41) */
773
835
  press: async (key, holdMs = 60) => {
774
836
  const actions = bidiKeyActions(key, holdMs);
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import { realpathSync } from 'node:fs';
3
+ import { fileURLToPath } from 'node:url';
2
4
  import { mkdirSync, writeFileSync } from 'node:fs';
3
- import { join, relative, basename } from 'node:path';
5
+ import { join, relative } from 'node:path';
4
6
  import { huffEncode } from '../src/board/tablebase.ts';
5
7
  import { spawn } from '../src/threads/spawn.ts';
6
8
 
@@ -451,7 +453,9 @@ function defaultJobs() {
451
453
  return 2;
452
454
  }
453
455
 
454
- const isMain = process.argv[1] && import.meta.url.endsWith(basename(process.argv[1]));
456
+ //the real path, since an npm `bin` shim reaches this file through a symlink; a suffix test on the
457
+ //name is not enough (`compress-dist.mjs` ends with `t.mjs`)
458
+ const isMain = process.argv[1] && realpathSync(process.argv[1]) === fileURLToPath(import.meta.url);
455
459
 
456
460
  if (isMain) {
457
461
  const args = process.argv.slice(2);
@@ -37,7 +37,7 @@ export function toClassicScript(html) {
37
37
  return { html: html.replace(scriptTag, `<script defer src="${match[1]}"></script>`), src: match[1] };
38
38
  }
39
39
 
40
- if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
40
+ async function runCli() {
41
41
  const input = process.argv[2];
42
42
  if (!input) {
43
43
  console.error('Usage: node tools/classic-html.mjs dist/index.html');
@@ -59,3 +59,11 @@ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.ur
59
59
  }
60
60
  }
61
61
  }
62
+
63
+ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
64
+ //no top-level await: a vite config loaded as CommonJS has to be able to require() this module
65
+ runCli().catch((error) => {
66
+ console.error(error);
67
+ process.exitCode = 1;
68
+ });
69
+ }
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import { realpathSync } from 'node:fs';
3
+ import { fileURLToPath } from 'node:url';
2
4
  import { readFileSync, writeFileSync, readdirSync } from 'node:fs';
3
- import { basename, join, relative } from 'node:path';
5
+ import { join, relative } from 'node:path';
4
6
  import { applyMove, legalMoves, positionKey, sq, squareName, startingChess } from '../src/board/chess.ts';
5
7
  import { parseUciMove } from '../src/board/openings.ts';
6
8
 
@@ -115,7 +117,9 @@ export function compileBook(dir) {
115
117
  return { version: 1, positions };
116
118
  }
117
119
 
118
- const isMain = process.argv[1] && import.meta.url.endsWith(basename(process.argv[1]));
120
+ //the real path, since an npm `bin` shim reaches this file through a symlink; a suffix test on the
121
+ //name is not enough (`compress-dist.mjs` ends with `t.mjs`)
122
+ const isMain = process.argv[1] && realpathSync(process.argv[1]) === fileURLToPath(import.meta.url);
119
123
 
120
124
  if (isMain) {
121
125
  const [dir, out] = process.argv.slice(2);
@@ -24,6 +24,11 @@ export interface CompileResourcesResult {
24
24
  embeddedBytes: number;
25
25
  webpConverted: number;
26
26
  skipped: number;
27
+ /** the `CREDITS.txt` text when the asset folder holds a `credits.json`, else null */
28
+ credits: string | null;
27
29
  }
28
30
 
31
+ /** the plain-text credits for a manifest (an array, or `{ credits: [...] }`, of `{ name, license, author?, url? }`) */
32
+ export function creditsText(manifest: unknown): string;
33
+
29
34
  export function compileResources(options: CompileResourcesOptions): Promise<CompileResourcesResult>;