@datamoc/mw_games 0.36.0 → 0.37.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 (114) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +6 -2
  3. package/api-surface.json +234 -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/physics/PhysicsWorld.d.ts +123 -0
  36. package/dist/physics/PhysicsWorld.d.ts.map +1 -0
  37. package/dist/physics/PhysicsWorld.js +137 -0
  38. package/dist/physics/PhysicsWorld.js.map +1 -0
  39. package/dist/physics/XpbdWorld.d.ts +139 -0
  40. package/dist/physics/XpbdWorld.d.ts.map +1 -0
  41. package/dist/physics/XpbdWorld.js +207 -0
  42. package/dist/physics/XpbdWorld.js.map +1 -0
  43. package/dist/physics/index.d.ts +3 -0
  44. package/dist/physics/index.d.ts.map +1 -0
  45. package/dist/physics/index.js +2 -0
  46. package/dist/physics/index.js.map +1 -0
  47. package/dist/physics/xpbd.d.ts +3 -0
  48. package/dist/physics/xpbd.d.ts.map +1 -0
  49. package/dist/physics/xpbd.js +2 -0
  50. package/dist/physics/xpbd.js.map +1 -0
  51. package/dist/two-d/render/Camera.d.ts +6 -0
  52. package/dist/two-d/render/Camera.d.ts.map +1 -1
  53. package/dist/two-d/render/Camera.js +9 -0
  54. package/dist/two-d/render/Camera.js.map +1 -1
  55. package/dist/two-d/render/Particles.d.ts +10 -1
  56. package/dist/two-d/render/Particles.d.ts.map +1 -1
  57. package/dist/two-d/render/Particles.js +14 -7
  58. package/dist/two-d/render/Particles.js.map +1 -1
  59. package/dist/two-d/render/Shape2D.d.ts +7 -0
  60. package/dist/two-d/render/Shape2D.d.ts.map +1 -1
  61. package/dist/two-d/render/Shape2D.js +18 -0
  62. package/dist/two-d/render/Shape2D.js.map +1 -1
  63. package/dist/two-d/render/SpriteSheet.d.ts +5 -0
  64. package/dist/two-d/render/SpriteSheet.d.ts.map +1 -1
  65. package/dist/two-d/render/SpriteSheet.js +15 -0
  66. package/dist/two-d/render/SpriteSheet.js.map +1 -1
  67. package/dist/two-d/ui/Button.d.ts +7 -0
  68. package/dist/two-d/ui/Button.d.ts.map +1 -1
  69. package/dist/two-d/ui/Button.js +16 -2
  70. package/dist/two-d/ui/Button.js.map +1 -1
  71. package/dist/two-d/ui/Dropdown.d.ts +3 -0
  72. package/dist/two-d/ui/Dropdown.d.ts.map +1 -1
  73. package/dist/two-d/ui/Dropdown.js +3 -0
  74. package/dist/two-d/ui/Dropdown.js.map +1 -1
  75. package/dist/two-d/ui/DropdownView.d.ts +40 -0
  76. package/dist/two-d/ui/DropdownView.d.ts.map +1 -0
  77. package/dist/two-d/ui/DropdownView.js +75 -0
  78. package/dist/two-d/ui/DropdownView.js.map +1 -0
  79. package/dist/two-d/ui/Label.d.ts +2 -0
  80. package/dist/two-d/ui/Label.d.ts.map +1 -1
  81. package/dist/two-d/ui/Label.js +7 -0
  82. package/dist/two-d/ui/Label.js.map +1 -1
  83. package/dist/two-d/ui/Layout.d.ts +34 -0
  84. package/dist/two-d/ui/Layout.d.ts.map +1 -1
  85. package/dist/two-d/ui/Layout.js +47 -0
  86. package/dist/two-d/ui/Layout.js.map +1 -1
  87. package/dist/two-d/ui/Window.d.ts +7 -0
  88. package/dist/two-d/ui/Window.d.ts.map +1 -1
  89. package/dist/two-d/ui/Window.js +13 -0
  90. package/dist/two-d/ui/Window.js.map +1 -1
  91. package/dist/two-d/ui/index.d.ts +4 -2
  92. package/dist/two-d/ui/index.d.ts.map +1 -1
  93. package/dist/two-d/ui/index.js +2 -1
  94. package/dist/two-d/ui/index.js.map +1 -1
  95. package/dist/version.d.ts +1 -1
  96. package/dist/version.js +1 -1
  97. package/package.json +22 -3
  98. package/sbom.cdx.json +64 -12
  99. package/tools/browser-driver.d.mts +14 -0
  100. package/tools/browser-driver.mjs +86 -10
  101. package/tools/build-tablebases.mjs +6 -2
  102. package/tools/classic-html.mjs +9 -1
  103. package/tools/compile-openings.mjs +6 -2
  104. package/tools/compile-resources.d.mts +5 -0
  105. package/tools/compile-resources.mjs +45 -4
  106. package/tools/compress-dist.mjs +15 -3
  107. package/tools/emit-page.mjs +5 -1
  108. package/tools/init.d.mts +5 -0
  109. package/tools/init.mjs +145 -0
  110. package/tools/play-uci.mjs +6 -3
  111. package/tools/sbom.mjs +5 -1
  112. package/tools/single-file.mjs +9 -1
  113. package/tools/vite.mjs +5 -0
  114. package/tools/webp-convert.mjs +9 -1
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Turns the variable frame time `Scene.update(dt)` receives into fixed simulation steps.
3
+ *
4
+ * `Game` clamps and scales each frame's `dt` but does not make it constant, so a simulation
5
+ * that must be deterministic and independent of the display's refresh rate (a physics solver,
6
+ * a lockstep game) feeds `dt` here and runs its tick once per returned step instead. The
7
+ * leftover time carries to the next frame, and `maxSubsteps` bounds a slow frame so catching
8
+ * up cannot make the next frame slower still.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { FixedStepper } from '@datamoc/mw_games/core';
13
+ *
14
+ * const stepper = new FixedStepper(1 / 60);
15
+ * const world = { step: (h: number) => console.log('step', h) };
16
+ * // inside Scene.update(dt), here one 40 ms frame:
17
+ * const dt = 0.04;
18
+ * stepper.advance(dt, (h) => world.step(h));
19
+ * const blend = stepper.alpha; // 0..1 into the next step, for interpolated drawing
20
+ * ```
21
+ */
22
+ export class FixedStepper {
23
+ constructor(step = 1 / 60, maxSubsteps = 5) {
24
+ this.accumulator = 0;
25
+ if (!(step > 0))
26
+ throw new Error('a fixed step must be positive');
27
+ this.step = step;
28
+ this.maxSubsteps = Math.max(1, Math.floor(maxSubsteps));
29
+ }
30
+ /**
31
+ * Adds `dt` seconds and runs `tick(step)` for every whole step now due.
32
+ *
33
+ * @returns how many steps ran; time beyond `maxSubsteps` steps is dropped, not banked
34
+ */
35
+ advance(dt, tick) {
36
+ this.accumulator += Math.max(0, dt);
37
+ let ran = 0;
38
+ while (this.accumulator >= this.step && ran < this.maxSubsteps) {
39
+ tick(this.step);
40
+ this.accumulator -= this.step;
41
+ ran++;
42
+ }
43
+ if (this.accumulator >= this.step)
44
+ this.accumulator = 0;
45
+ return ran;
46
+ }
47
+ /** how far into the next step the leftover time reaches, 0 up to (not including) 1 */
48
+ get alpha() {
49
+ return this.accumulator / this.step;
50
+ }
51
+ /** forgets the leftover time, after a scene change or a load */
52
+ reset() {
53
+ this.accumulator = 0;
54
+ }
55
+ }
56
+ //# sourceMappingURL=FixedStepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FixedStepper.js","sourceRoot":"","sources":["../../src/core/FixedStepper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,YAAY;IAKxB,YAAY,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,WAAW,GAAG,CAAC;QAFlC,gBAAW,GAAG,CAAC,CAAC;QAGvB,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,EAAU,EAAE,IAA4B;QAC/C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;YAC9B,GAAG,EAAE,CAAC;QACP,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,sFAAsF;IACtF,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,gEAAgE;IAChE,KAAK;QACJ,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACtB,CAAC;CACD"}
@@ -190,6 +190,67 @@ export interface SwipeOptions {
190
190
  * Returns a function that removes the listeners this attached.
191
191
  */
192
192
  export declare function attachSwipe(target: EventTarget, options?: SwipeOptions): () => void;
193
+ /** where a pointer is, and where its current drag began */
194
+ export interface PointerPoint {
195
+ /** CSS pixels from the target's top-left corner */
196
+ x: number;
197
+ y: number;
198
+ /** `x`/`y` through the `toWorld` option, or equal to them without one */
199
+ worldX: number;
200
+ worldY: number;
201
+ /** CSS pixel offset from where the press began; 0 outside a drag */
202
+ dx: number;
203
+ dy: number;
204
+ pointerId: number;
205
+ /** true while the button or finger is down */
206
+ pressed: boolean;
207
+ }
208
+ export interface PointerOptions {
209
+ /** maps target-relative CSS pixels to world units, e.g. `(x, y) => camera.toWorld(x, y)` */
210
+ toWorld?: (x: number, y: number) => {
211
+ x: number;
212
+ y: number;
213
+ };
214
+ /** movement, in CSS pixels, before a press counts as a drag rather than a click; default 4 */
215
+ dragThreshold?: number;
216
+ }
217
+ export interface PointerTracker {
218
+ readonly down: Signal<PointerPoint>;
219
+ /** every move, pressed or not (hover), with `dx`/`dy` set while pressed */
220
+ readonly move: Signal<PointerPoint>;
221
+ /** fires once a press has moved past the drag threshold, then on every further move */
222
+ readonly drag: Signal<PointerPoint>;
223
+ /** the release; `dragged` tells a drop from a click */
224
+ readonly up: Signal<PointerPoint & {
225
+ dragged: boolean;
226
+ }>;
227
+ /** the last known position, or null before the pointer has been seen */
228
+ readonly current: PointerPoint | null;
229
+ detach(): void;
230
+ }
231
+ /**
232
+ * Pointer input as signals - down, move, drag, up - with positions relative to `target` and,
233
+ * through `toWorld`, in world units, so a game does not reach for the renderer's own event
234
+ * system to build a draggable thing. One pointer is tracked at a time (the first to press),
235
+ * which is what a mouse or a single finger is; a second finger is ignored until the first lifts.
236
+ *
237
+ * @example
238
+ * ```ts
239
+ * import { Input } from '@datamoc/mw_games/core';
240
+ *
241
+ * const target = new EventTarget(); // the game's canvas in a browser
242
+ * const pointer = Input.attachPointer(target, { dragThreshold: 6 });
243
+ * pointer.drag.add((p) => console.log('dragging', p.worldX, p.worldY));
244
+ * pointer.up.add((p) => console.log(p.dragged ? 'dropped' : 'clicked'));
245
+ * pointer.detach();
246
+ * ```
247
+ */
248
+ export declare function attachPointer(target: EventTarget & {
249
+ getBoundingClientRect?: () => {
250
+ left: number;
251
+ top: number;
252
+ };
253
+ }, options?: PointerOptions): PointerTracker;
193
254
  export declare function attach(target?: EventTarget): void;
194
255
  export declare function detach(target?: EventTarget): void;
195
256
  //# sourceMappingURL=Input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAO5B,6FAA6F;AAC7F,eAAO,MAAM,QAAQ,gBAA2B,CAAC;AAEjD,wEAAwE;AACxE,eAAO,MAAM,KAAK,uBAAkC,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,gBAA2B,CAAC;AAE/C,qFAAqF;AACrF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,gBAAgB,CAAC;IAExB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,0BAAqC,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC,GAClF,MAAM,GAAG,IAAI,CAIf;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAEjE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;CACd;AAED,8IAA8I;AAC9I,eAAO,MAAM,OAAO,oBAA+B,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,WAAW,CAIlH;AAcD,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAaxE,CAAC;AAEF,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAElE;AASD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD;AAED,qFAAqF;AACrF,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAIzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAGvF;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAsCD,0CAA0C;AAC1C,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAO9C;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAG/B;AAwDD,uHAAuH;AACvH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAEzF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAK7F;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAG3B,IAAI,GAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAgF,GAC7G,IAAI,CAwBN;AAOD,MAAM,WAAW,aAAa;IAC7B,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAgF,GAC7G,IAAI,CAQN;AAYD,mIAAmI;AACnI,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,kMAAkM;AAClM,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAE,MAAe,GAAG,IAAI,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,0IAA0I;AAC1I,MAAM,WAAW,YAAY;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AA0BD,MAAM,WAAW,YAAY;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,2GAA2G;IAC3G,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,IAAI,CAqDvF;AAED,wBAAgB,MAAM,CAAC,MAAM,GAAE,WAAoB,GAAG,IAAI,CAazD;AAED,wBAAgB,MAAM,CAAC,MAAM,GAAE,WAAoB,GAAG,IAAI,CAYzD"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"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"}
@@ -426,6 +426,107 @@ export function attachSwipe(target, options = {}) {
426
426
  target.removeEventListener('pointercancel', onPointerUp);
427
427
  };
428
428
  }
429
+ /**
430
+ * Pointer input as signals - down, move, drag, up - with positions relative to `target` and,
431
+ * through `toWorld`, in world units, so a game does not reach for the renderer's own event
432
+ * system to build a draggable thing. One pointer is tracked at a time (the first to press),
433
+ * which is what a mouse or a single finger is; a second finger is ignored until the first lifts.
434
+ *
435
+ * @example
436
+ * ```ts
437
+ * import { Input } from '@datamoc/mw_games/core';
438
+ *
439
+ * const target = new EventTarget(); // the game's canvas in a browser
440
+ * const pointer = Input.attachPointer(target, { dragThreshold: 6 });
441
+ * pointer.drag.add((p) => console.log('dragging', p.worldX, p.worldY));
442
+ * pointer.up.add((p) => console.log(p.dragged ? 'dropped' : 'clicked'));
443
+ * pointer.detach();
444
+ * ```
445
+ */
446
+ export function attachPointer(target, options = {}) {
447
+ const threshold = options.dragThreshold ?? 4;
448
+ const toWorld = options.toWorld ?? ((x, y) => ({ x, y }));
449
+ const down = new Signal();
450
+ const move = new Signal();
451
+ const drag = new Signal();
452
+ const up = new Signal();
453
+ let activeId = -1;
454
+ let pressed = false;
455
+ let dragging = false;
456
+ let startX = 0;
457
+ let startY = 0;
458
+ let current = null;
459
+ function pointAt(event) {
460
+ const rect = target.getBoundingClientRect?.() ?? { left: 0, top: 0 };
461
+ const x = event.clientX - rect.left;
462
+ const y = event.clientY - rect.top;
463
+ const world = toWorld(x, y);
464
+ return {
465
+ x,
466
+ y,
467
+ worldX: world.x,
468
+ worldY: world.y,
469
+ dx: pressed ? x - startX : 0,
470
+ dy: pressed ? y - startY : 0,
471
+ pointerId: event.pointerId,
472
+ pressed,
473
+ };
474
+ }
475
+ function onDown(event) {
476
+ if (pressed)
477
+ return;
478
+ pressed = true;
479
+ dragging = false;
480
+ activeId = event.pointerId;
481
+ const rect = target.getBoundingClientRect?.() ?? { left: 0, top: 0 };
482
+ startX = event.clientX - rect.left;
483
+ startY = event.clientY - rect.top;
484
+ current = pointAt(event);
485
+ down.dispatch(current);
486
+ }
487
+ function onMove(event) {
488
+ //hover is tracked for any pointer; only the pressing one drags
489
+ if (pressed && event.pointerId !== activeId)
490
+ return;
491
+ current = pointAt(event);
492
+ move.dispatch(current);
493
+ if (!pressed)
494
+ return;
495
+ if (!dragging && Math.hypot(current.dx, current.dy) >= threshold)
496
+ dragging = true;
497
+ if (dragging)
498
+ drag.dispatch(current);
499
+ }
500
+ function onUp(event) {
501
+ if (!pressed || event.pointerId !== activeId)
502
+ return;
503
+ const dragged = dragging;
504
+ const point = pointAt(event);
505
+ pressed = false;
506
+ dragging = false;
507
+ current = { ...point, pressed: false, dx: 0, dy: 0 };
508
+ up.dispatch({ ...point, pressed: false, dragged });
509
+ }
510
+ target.addEventListener('pointerdown', onDown);
511
+ target.addEventListener('pointermove', onMove);
512
+ target.addEventListener('pointerup', onUp);
513
+ target.addEventListener('pointercancel', onUp);
514
+ return {
515
+ down,
516
+ move,
517
+ drag,
518
+ up,
519
+ get current() {
520
+ return current;
521
+ },
522
+ detach() {
523
+ target.removeEventListener('pointerdown', onDown);
524
+ target.removeEventListener('pointermove', onMove);
525
+ target.removeEventListener('pointerup', onUp);
526
+ target.removeEventListener('pointercancel', onUp);
527
+ },
528
+ };
529
+ }
429
530
  export function attach(target = window) {
430
531
  if (attached)
431
532
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/core/Input.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,17 @@ import type { SaveStorage } from './Save.ts';
6
6
  * absent (the `raw ? ... : fallback` rule two of the three already followed); corrupt JSON
7
7
  * or a forbidden key throws a named error (`parseInbound`), since silently inventing a value would hide a real bug.
8
8
  *
9
- * Internal: multi-key shapes (`Collection`'s prefix scan, `SaveSystem`'s slots) do not fit
10
- * it and keep their own code.
9
+ * Public so a game can keep its own progress (a level list, a best score) as structured JSON
10
+ * under one key, with `defaultStorage()` as the storage. Multi-key shapes (`Collection`'s
11
+ * prefix scan, `SaveSystem`'s slots) do not fit it and keep their own code.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { StoredValue, defaultStorage } from '@datamoc/mw_games/core';
16
+ *
17
+ * const progress = new StoredValue<{ solved: number[] }>(defaultStorage(), 'mygame.progress');
18
+ * progress.write({ solved: [...progress.read({ solved: [] }).solved, 3] });
19
+ * ```
11
20
  */
12
21
  export declare class StoredValue<T> {
13
22
  private readonly storage;
@@ -1 +1 @@
1
- {"version":3,"file":"StoredValue.d.ts","sourceRoot":"","sources":["../../src/core/StoredValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C;;;;;;;;;GASG;AACH,qBAAa,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAG5C;IAED,wEAAwE;IACxE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAGnB;IAED,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEpB;IAED,MAAM,IAAI,IAAI,CAEb;CACD"}
1
+ {"version":3,"file":"StoredValue.d.ts","sourceRoot":"","sources":["../../src/core/StoredValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAG5C;IAED,wEAAwE;IACxE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAGnB;IAED,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEpB;IAED,MAAM,IAAI,IAAI,CAEb;CACD"}
@@ -6,8 +6,17 @@ import { parseInbound } from './Sanitize.js';
6
6
  * absent (the `raw ? ... : fallback` rule two of the three already followed); corrupt JSON
7
7
  * or a forbidden key throws a named error (`parseInbound`), since silently inventing a value would hide a real bug.
8
8
  *
9
- * Internal: multi-key shapes (`Collection`'s prefix scan, `SaveSystem`'s slots) do not fit
10
- * it and keep their own code.
9
+ * Public so a game can keep its own progress (a level list, a best score) as structured JSON
10
+ * under one key, with `defaultStorage()` as the storage. Multi-key shapes (`Collection`'s
11
+ * prefix scan, `SaveSystem`'s slots) do not fit it and keep their own code.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { StoredValue, defaultStorage } from '@datamoc/mw_games/core';
16
+ *
17
+ * const progress = new StoredValue<{ solved: number[] }>(defaultStorage(), 'mygame.progress');
18
+ * progress.write({ solved: [...progress.read({ solved: [] }).solved, 3] });
19
+ * ```
11
20
  */
12
21
  export class StoredValue {
13
22
  constructor(storage, key) {
@@ -1 +1 @@
1
- {"version":3,"file":"StoredValue.js","sourceRoot":"","sources":["../../src/core/StoredValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,OAAO,WAAW;IAIvB,YAAY,OAAoB,EAAE,GAAW;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,IAAI,CAAC,QAAW;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,CAAC,CAAE,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,KAAQ;QACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACL,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACD"}
1
+ {"version":3,"file":"StoredValue.js","sourceRoot":"","sources":["../../src/core/StoredValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,WAAW;IAIvB,YAAY,OAAoB,EAAE,GAAW;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,IAAI,CAAC,QAAW;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,CAAC,CAAE,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,KAAQ;QACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACL,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACD"}
@@ -20,7 +20,8 @@ export { Generator, MersenneTwister, RandomStreams } from './Random.ts';
20
20
  export type { FloatSource, MersenneTwisterState, RandomSource } from './Random.ts';
21
21
  export { JavaRandom } from './JavaRandom.ts';
22
22
  export type { JavaRandomDraw, JavaRandomOptions } from './JavaRandom.ts';
23
- export { SaveSystem } from './Save.ts';
23
+ export { SaveSystem, defaultStorage } from './Save.ts';
24
+ export { StoredValue } from './StoredValue.ts';
24
25
  export type { SaveMeta, SaveData, SaveStorage, SaveSystemOptions } from './Save.ts';
25
26
  export { CanonicalState, StateRegistry } from './State.ts';
26
27
  export type { CanonicalStateSnapshot, StateValue, StateExtension, StateSnapshot, StateRestoreDiagnostic, } from './State.ts';
@@ -69,6 +70,7 @@ export { cellInside, cellIndex, cellX, cellY, cellKey, cellFromKey, NEIGHBOURS4,
69
70
  export { motionDuration, prefersReducedMotion, reducedMotion, setReducedMotion, watchReducedMotion } from './Motion.ts';
70
71
  export type { MotionIntent } from './Motion.ts';
71
72
  export { Blob } from './Blob.ts';
73
+ export { FixedStepper } from './FixedStepper.ts';
72
74
  export { Tweener, Easing } from './Tween.ts';
73
75
  export type { TweenOptions } from './Tween.ts';
74
76
  export { UndoHistory } from './UndoHistory.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ export * as Input from './Input.js';
11
11
  export { PlayerInput } from './PlayerInput.js';
12
12
  export { Generator, MersenneTwister, RandomStreams } from './Random.js';
13
13
  export { JavaRandom } from './JavaRandom.js';
14
- export { SaveSystem } from './Save.js';
14
+ export { SaveSystem, defaultStorage } from './Save.js';
15
+ export { StoredValue } from './StoredValue.js';
15
16
  export { CanonicalState, StateRegistry } from './State.js';
16
17
  export { scramble, unscramble } from './Scramble.js';
17
18
  export { SaveSyncClient } from './SaveSync.js';
@@ -37,6 +38,7 @@ export { hexNeighbors, hexDistance, hexLine, hexRange, hexToPixel, pixelToHex }
37
38
  export { cellInside, cellIndex, cellX, cellY, cellKey, cellFromKey, NEIGHBOURS4, NEIGHBOURS8, CIRCLE8, euclidean, chebyshev, manhattan, distance, } from './Grid.js';
38
39
  export { motionDuration, prefersReducedMotion, reducedMotion, setReducedMotion, watchReducedMotion } from './Motion.js';
39
40
  export { Blob } from './Blob.js';
41
+ export { FixedStepper } from './FixedStepper.js';
40
42
  export { Tweener, Easing } from './Tween.js';
41
43
  export { UndoHistory } from './UndoHistory.js';
42
44
  export { weightedFlood } from './Pathfinding.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQ3D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtG,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGpG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGhG,OAAO,EACN,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}