@datamoc/mw_games 0.30.0 → 0.31.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,25 @@ the public API may still change between minor versions.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.31.0] - 2026-10-09
11
+
12
+ Two pixel-dungeon proposals: P43, `SpriteMotion` (squash, hop, bob, wobble, spin, shear and flip over `Tweener`, reduced-motion aware), and P42, camera snapping in whole device pixels, which closes the thin tile seams at a fractional `devicePixelRatio`.
13
+
14
+ ### Added
15
+
16
+ - `two-d/render` `SpriteMotion` (pixel-dungeon proposal P43): squash, hop, bob, wobble, spin,
17
+ shear and flip over any display object's transform, through a `Tweener`. Effects compose from
18
+ a captured rest pose, never drift, cancel cleanly, and follow `setReducedMotion` (a looping
19
+ bob holds still; `intent: 'meaningful'` is shortened instead of dropped).
20
+
21
+ ### Fixed
22
+
23
+ - `Camera` rounded its screen offset to a whole CSS pixel, which at a fractional
24
+ `devicePixelRatio` (Windows at 150%) left thin seams between tiles. The offset now rounds to
25
+ whole device pixels through the new `CameraOptions.resolution` (supplied by `createCamera`,
26
+ read live), and `snapZoom` takes an optional `resolution` so `pixelPerfectTileSize` snaps to
27
+ whole device pixels too.
28
+
10
29
  ## [0.30.0] - 2026-10-07
11
30
 
12
31
  P41, the browser driver's four measured gaps: the viewport option (inner size through the
package/README.md CHANGED
@@ -15,7 +15,7 @@ playable in the browser with no download, plus the generated API reference.
15
15
  planning or porting a demanding game with mwg, with links to the [mwg reference](https://github.com/datamoc/mwg/blob/main/REFERENCE.md)
16
16
  and the [mwg Pixel Dungeon study](https://datamoc.github.io/mwg-pixel-dungeon/).
17
17
 
18
- > **Status: pre-alpha (v0.29.0).** Every module in the shared floor below, plus optional
18
+ > **Status: pre-alpha (v0.31.0).** Every module in the shared floor below, plus optional
19
19
  > 3D, mobile (Capacitor) and desktop (WebView2) packaging, is built and tested - see
20
20
  > [ROADMAP.md](https://github.com/datamoc/mwg/blob/main/ROADMAP.md) for open work, and
21
21
  > [CLOSED.md](https://github.com/datamoc/mwg/blob/main/CLOSED.md) for the full, numbered shipped history.
package/api-surface.json CHANGED
@@ -1625,12 +1625,24 @@
1625
1625
  "subpath": ".",
1626
1626
  "declaringModule": "core/Motion.d.ts"
1627
1627
  },
1628
+ {
1629
+ "name": "MotionHandle",
1630
+ "kind": "interface",
1631
+ "subpath": ".",
1632
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
1633
+ },
1628
1634
  {
1629
1635
  "name": "MotionIntent",
1630
1636
  "kind": "type",
1631
1637
  "subpath": ".",
1632
1638
  "declaringModule": "core/Motion.d.ts"
1633
1639
  },
1640
+ {
1641
+ "name": "MotionTarget",
1642
+ "kind": "interface",
1643
+ "subpath": ".",
1644
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
1645
+ },
1634
1646
  {
1635
1647
  "name": "Mwl",
1636
1648
  "kind": "namespace",
@@ -2771,6 +2783,18 @@
2771
2783
  "subpath": ".",
2772
2784
  "declaringModule": "two-d/render/SpriteGroup.d.ts"
2773
2785
  },
2786
+ {
2787
+ "name": "SpriteMotion",
2788
+ "kind": "class",
2789
+ "subpath": ".",
2790
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
2791
+ },
2792
+ {
2793
+ "name": "SpriteMotionOptions",
2794
+ "kind": "interface",
2795
+ "subpath": ".",
2796
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
2797
+ },
2774
2798
  {
2775
2799
  "name": "SpriteSheet",
2776
2800
  "kind": "class",
@@ -11411,6 +11435,18 @@
11411
11435
  "subpath": "./two-d",
11412
11436
  "declaringModule": "two-d/render/Minimap.d.ts"
11413
11437
  },
11438
+ {
11439
+ "name": "MotionHandle",
11440
+ "kind": "interface",
11441
+ "subpath": "./two-d",
11442
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
11443
+ },
11444
+ {
11445
+ "name": "MotionTarget",
11446
+ "kind": "interface",
11447
+ "subpath": "./two-d",
11448
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
11449
+ },
11414
11450
  {
11415
11451
  "name": "NeighborMask",
11416
11452
  "kind": "interface",
@@ -12119,6 +12155,18 @@
12119
12155
  "subpath": "./two-d",
12120
12156
  "declaringModule": "two-d/render/SpriteGroup.d.ts"
12121
12157
  },
12158
+ {
12159
+ "name": "SpriteMotion",
12160
+ "kind": "class",
12161
+ "subpath": "./two-d",
12162
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
12163
+ },
12164
+ {
12165
+ "name": "SpriteMotionOptions",
12166
+ "kind": "interface",
12167
+ "subpath": "./two-d",
12168
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
12169
+ },
12122
12170
  {
12123
12171
  "name": "SpriteSheet",
12124
12172
  "kind": "class",
@@ -13175,6 +13223,18 @@
13175
13223
  "subpath": "./two-d/render",
13176
13224
  "declaringModule": "two-d/render/Minimap.d.ts"
13177
13225
  },
13226
+ {
13227
+ "name": "MotionHandle",
13228
+ "kind": "interface",
13229
+ "subpath": "./two-d/render",
13230
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13231
+ },
13232
+ {
13233
+ "name": "MotionTarget",
13234
+ "kind": "interface",
13235
+ "subpath": "./two-d/render",
13236
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13237
+ },
13178
13238
  {
13179
13239
  "name": "NeighborMask",
13180
13240
  "kind": "interface",
@@ -13589,6 +13649,18 @@
13589
13649
  "subpath": "./two-d/render",
13590
13650
  "declaringModule": "two-d/render/SpriteGroup.d.ts"
13591
13651
  },
13652
+ {
13653
+ "name": "SpriteMotion",
13654
+ "kind": "class",
13655
+ "subpath": "./two-d/render",
13656
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13657
+ },
13658
+ {
13659
+ "name": "SpriteMotionOptions",
13660
+ "kind": "interface",
13661
+ "subpath": "./two-d/render",
13662
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13663
+ },
13592
13664
  {
13593
13665
  "name": "SpriteSheet",
13594
13666
  "kind": "class",