@datamoc/mw_games 0.30.0 → 0.33.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 (71) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +1 -1
  3. package/api-surface.json +384 -0
  4. package/dist/assets/index.d.ts +2 -0
  5. package/dist/assets/index.d.ts.map +1 -1
  6. package/dist/assets/index.js +1 -0
  7. package/dist/assets/index.js.map +1 -1
  8. package/dist/assets/svg.d.ts +87 -0
  9. package/dist/assets/svg.d.ts.map +1 -0
  10. package/dist/assets/svg.js +162 -0
  11. package/dist/assets/svg.js.map +1 -0
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/mw_games.global.js +41 -41
  17. package/dist/mwl/fengari.d.ts +12 -6
  18. package/dist/mwl/fengari.d.ts.map +1 -1
  19. package/dist/mwl/fengari.js +56 -70
  20. package/dist/mwl/fengari.js.map +1 -1
  21. package/dist/mwl/runtime.d.ts +13 -0
  22. package/dist/mwl/runtime.d.ts.map +1 -1
  23. package/dist/mwl/runtime.js +72 -4
  24. package/dist/mwl/runtime.js.map +1 -1
  25. package/dist/mwl/schema.d.ts.map +1 -1
  26. package/dist/mwl/schema.js +4 -1
  27. package/dist/mwl/schema.js.map +1 -1
  28. package/dist/roguelike/Cave.d.ts +109 -0
  29. package/dist/roguelike/Cave.d.ts.map +1 -0
  30. package/dist/roguelike/Cave.js +192 -0
  31. package/dist/roguelike/Cave.js.map +1 -0
  32. package/dist/roguelike/Overworld.d.ts +82 -0
  33. package/dist/roguelike/Overworld.d.ts.map +1 -0
  34. package/dist/roguelike/Overworld.js +306 -0
  35. package/dist/roguelike/Overworld.js.map +1 -0
  36. package/dist/roguelike/index.d.ts +4 -0
  37. package/dist/roguelike/index.d.ts.map +1 -1
  38. package/dist/roguelike/index.js +2 -0
  39. package/dist/roguelike/index.js.map +1 -1
  40. package/dist/skeleton/index.d.ts +131 -0
  41. package/dist/skeleton/index.d.ts.map +1 -0
  42. package/dist/skeleton/index.js +206 -0
  43. package/dist/skeleton/index.js.map +1 -0
  44. package/dist/testing/SceneControls.d.ts +35 -0
  45. package/dist/testing/SceneControls.d.ts.map +1 -0
  46. package/dist/testing/SceneControls.js +49 -0
  47. package/dist/testing/SceneControls.js.map +1 -0
  48. package/dist/testing/index.d.ts +2 -0
  49. package/dist/testing/index.d.ts.map +1 -1
  50. package/dist/testing/index.js +1 -0
  51. package/dist/testing/index.js.map +1 -1
  52. package/dist/two-d/render/Camera.d.ts +13 -3
  53. package/dist/two-d/render/Camera.d.ts.map +1 -1
  54. package/dist/two-d/render/Camera.js +35 -25
  55. package/dist/two-d/render/Camera.js.map +1 -1
  56. package/dist/two-d/render/SkeletalSprite.d.ts +118 -0
  57. package/dist/two-d/render/SkeletalSprite.d.ts.map +1 -0
  58. package/dist/two-d/render/SkeletalSprite.js +189 -0
  59. package/dist/two-d/render/SkeletalSprite.js.map +1 -0
  60. package/dist/two-d/render/SpriteMotion.d.ts +121 -0
  61. package/dist/two-d/render/SpriteMotion.d.ts.map +1 -0
  62. package/dist/two-d/render/SpriteMotion.js +193 -0
  63. package/dist/two-d/render/SpriteMotion.js.map +1 -0
  64. package/dist/two-d/render/index.d.ts +4 -0
  65. package/dist/two-d/render/index.d.ts.map +1 -1
  66. package/dist/two-d/render/index.js +2 -0
  67. package/dist/two-d/render/index.js.map +1 -1
  68. package/dist/version.d.ts +1 -1
  69. package/dist/version.js +1 -1
  70. package/package.json +7 -2
  71. package/sbom.cdx.json +222 -222
package/CHANGELOG.md CHANGED
@@ -7,6 +7,92 @@ the public API may still change between minor versions.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.33.0] - 2026-10-10
11
+
12
+ Seven roadmap items in one release: the Wesnoth port's proposal file is now fully answered
13
+ (405 shipped with 0.32.0, 406/407/409 this release, 408's first half, 401 parked with the
14
+ port), alongside the skeletal puppet pair (399/400), SVG as inbound data (398), the overworld
15
+ generator (410), and the Lua host riding the fork's new allocation hook.
16
+
17
+ ### Added
18
+
19
+ - `skeleton`, a new renderer-free root module (roadmap 399): a bone tree where a pose is one
20
+ rotation per bone, keyframed clips (plain JSON, interpolation, looping, playback rate,
21
+ crossfade), and additive layers mixing by priority that displace only the bones they name.
22
+ `two-d/render` gains the drawing half (400): `SkeletalSprite` binds parts to bones by
23
+ name, and `ArticulatedChain`/`ChainRig` draw a follower-rule spine with per-segment
24
+ rotation limits.
25
+ - `roguelike.generateCave` (407): chambers grown as blobs (`jagged`), winding passages
26
+ (`windiness`, `width`, `chance`), starts with cleared rings, village density, and a forced
27
+ join so a cave is always connected. `roguelike.generateOverworld` (410): seeded elevation
28
+ and moisture fields classify seven terrains behind a `seaLevel` knob, rivers run downhill
29
+ to the sea and drown lakes at ridges, settlements place themselves by suitability and join
30
+ into a road tree that prefers flat ground (water a ford, not a wall), points of interest
31
+ carry `leadsTo`, and every cell carries a coarse region id.
32
+ - `assets` SVG inbound rules (398): `sanitizeSvg` refuses what it cannot prove inert by name,
33
+ `svgScaleVariants` rasterizes one source per named scale, `splitSvgGroups` loads one part
34
+ per top-level `<g>` group.
35
+ - `testing` gains `createSceneControls` (408's first half): named steps a game opts into,
36
+ driven by name, refused by name when unknown - the seam a headless driver calls a game's
37
+ private scene flow through.
38
+
39
+ ### Changed
40
+
41
+ - `mwl/fengari` now requires `@datamoc/fengari@^0.2.0` and enforces `memoryLimit` through the
42
+ fork's per-state allocation hook (`lua_setallocf`) instead of swapping the global
43
+ `Uint8Array` constructor mid-call: no global mutation (and so no reentrancy hazard between
44
+ hosts on one page), parsing is inside the budget, host callbacks allocate freely, and a
45
+ refused allocation surfaces to scripts as Lua's standard `not enough memory` while the
46
+ host still rejects the call.
47
+ - MWL `test=` expressions can call `have_unit`/`have_location` and registered predicate hooks
48
+ directly (406), `[while]` traces `while_limit` when its cap is reached with the condition
49
+ still true (`on_limit=error` makes it a hard failure), and `[condition]` accepts free
50
+ predicate attributes.
51
+
52
+ ## [0.32.0] - 2026-10-10
53
+
54
+ The optional Lua host hardens around what the `@datamoc/fengari` fork offers, and the
55
+ phantom-leader bug the Wesnoth port's scenarios exposed is fixed.
56
+
57
+ ### Changed
58
+
59
+ - `mwl/fengari` moves to the `@datamoc/fengari` fork (Lua 5.4) and opens only the
60
+ sandbox-safe Lua standard libraries (base, coroutine, math, string, table, utf8) through
61
+ the fork's `luaL_openselectedlibs`: `io`, `os`, `debug` and `package` with its `require`
62
+ are never constructed - identically in Node and the browser - instead of being opened and
63
+ then nil'd. Chunks now compile in text mode, so a binary `\x1bLua` dump is rejected instead
64
+ of reaching the bytecode undumper.
65
+ - Roadmap item 390 (the tourney chess engine) is closed by accepting its recorded split:
66
+ 4-piece tablebases stay a `tools/build-tablebases.mjs` run away rather than shipping tens
67
+ of megabytes per ending; the compiled 3-piece tables stay under `data/tablebases`.
68
+
69
+ ### Fixed
70
+
71
+ - `MwlRuntime` no longer spawns a phantom leader when a `[side]`'s `leader=` names an
72
+ already-declared unit: the named unit is the leader, a known unit type still spawns one
73
+ leader per free start cell with its real stats, and a value that is neither is refused by
74
+ name instead of creating a 1-hp, 0-move ghost (roadmap 405, which broke about ten of the
75
+ Wesnoth port's scenarios with "unknown unit type").
76
+
77
+ ## [0.31.0] - 2026-10-09
78
+
79
+ 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`.
80
+
81
+ ### Added
82
+
83
+ - `two-d/render` `SpriteMotion` (pixel-dungeon proposal P43): squash, hop, bob, wobble, spin,
84
+ shear and flip over any display object's transform, through a `Tweener`. Effects compose from
85
+ a captured rest pose, never drift, cancel cleanly, and follow `setReducedMotion` (a looping
86
+ bob holds still; `intent: 'meaningful'` is shortened instead of dropped).
87
+
88
+ ### Fixed
89
+
90
+ - `Camera` rounded its screen offset to a whole CSS pixel, which at a fractional
91
+ `devicePixelRatio` (Windows at 150%) left thin seams between tiles. The offset now rounds to
92
+ whole device pixels through the new `CameraOptions.resolution` (supplied by `createCamera`,
93
+ read live), and `snapZoom` takes an optional `resolution` so `pixelPerfectTileSize` snaps to
94
+ whole device pixels too.
95
+
10
96
  ## [0.30.0] - 2026-10-07
11
97
 
12
98
  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
@@ -131,6 +131,12 @@
131
131
  "subpath": ".",
132
132
  "declaringModule": "two-d/render/ImageModifiers.d.ts"
133
133
  },
134
+ {
135
+ "name": "ArticulatedChain",
136
+ "kind": "class",
137
+ "subpath": ".",
138
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
139
+ },
134
140
  {
135
141
  "name": "assertAutotileLayout",
136
142
  "kind": "function",
@@ -383,6 +389,18 @@
383
389
  "subpath": ".",
384
390
  "declaringModule": "core/Grid.d.ts"
385
391
  },
392
+ {
393
+ "name": "ChainOptions",
394
+ "kind": "interface",
395
+ "subpath": ".",
396
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
397
+ },
398
+ {
399
+ "name": "ChainRig",
400
+ "kind": "class",
401
+ "subpath": ".",
402
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
403
+ },
386
404
  {
387
405
  "name": "channelScaleMatrix",
388
406
  "kind": "function",
@@ -1625,12 +1643,24 @@
1625
1643
  "subpath": ".",
1626
1644
  "declaringModule": "core/Motion.d.ts"
1627
1645
  },
1646
+ {
1647
+ "name": "MotionHandle",
1648
+ "kind": "interface",
1649
+ "subpath": ".",
1650
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
1651
+ },
1628
1652
  {
1629
1653
  "name": "MotionIntent",
1630
1654
  "kind": "type",
1631
1655
  "subpath": ".",
1632
1656
  "declaringModule": "core/Motion.d.ts"
1633
1657
  },
1658
+ {
1659
+ "name": "MotionTarget",
1660
+ "kind": "interface",
1661
+ "subpath": ".",
1662
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
1663
+ },
1634
1664
  {
1635
1665
  "name": "Mwl",
1636
1666
  "kind": "namespace",
@@ -2633,6 +2663,18 @@
2633
2663
  "subpath": ".",
2634
2664
  "declaringModule": "core/Sanitize.d.ts"
2635
2665
  },
2666
+ {
2667
+ "name": "SkeletalSprite",
2668
+ "kind": "class",
2669
+ "subpath": ".",
2670
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
2671
+ },
2672
+ {
2673
+ "name": "Skeleton",
2674
+ "kind": "namespace",
2675
+ "subpath": ".",
2676
+ "declaringModule": "index.d.ts"
2677
+ },
2636
2678
  {
2637
2679
  "name": "Skin",
2638
2680
  "kind": "interface",
@@ -2771,6 +2813,18 @@
2771
2813
  "subpath": ".",
2772
2814
  "declaringModule": "two-d/render/SpriteGroup.d.ts"
2773
2815
  },
2816
+ {
2817
+ "name": "SpriteMotion",
2818
+ "kind": "class",
2819
+ "subpath": ".",
2820
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
2821
+ },
2822
+ {
2823
+ "name": "SpriteMotionOptions",
2824
+ "kind": "interface",
2825
+ "subpath": ".",
2826
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
2827
+ },
2774
2828
  {
2775
2829
  "name": "SpriteSheet",
2776
2830
  "kind": "class",
@@ -4709,6 +4763,18 @@
4709
4763
  "subpath": "./assets",
4710
4764
  "declaringModule": "assets/paths.d.ts"
4711
4765
  },
4766
+ {
4767
+ "name": "sanitizeSvg",
4768
+ "kind": "function",
4769
+ "subpath": "./assets",
4770
+ "declaringModule": "assets/svg.d.ts"
4771
+ },
4772
+ {
4773
+ "name": "ScaleVariant",
4774
+ "kind": "interface",
4775
+ "subpath": "./assets",
4776
+ "declaringModule": "assets/svg.d.ts"
4777
+ },
4712
4778
  {
4713
4779
  "name": "setAssetMap",
4714
4780
  "kind": "function",
@@ -4721,6 +4787,30 @@
4721
4787
  "subpath": "./assets",
4722
4788
  "declaringModule": "assets/paths.d.ts"
4723
4789
  },
4790
+ {
4791
+ "name": "splitSvgGroups",
4792
+ "kind": "function",
4793
+ "subpath": "./assets",
4794
+ "declaringModule": "assets/svg.d.ts"
4795
+ },
4796
+ {
4797
+ "name": "svgDataUri",
4798
+ "kind": "function",
4799
+ "subpath": "./assets",
4800
+ "declaringModule": "assets/svg.d.ts"
4801
+ },
4802
+ {
4803
+ "name": "svgScaleVariants",
4804
+ "kind": "function",
4805
+ "subpath": "./assets",
4806
+ "declaringModule": "assets/svg.d.ts"
4807
+ },
4808
+ {
4809
+ "name": "SvgVariant",
4810
+ "kind": "interface",
4811
+ "subpath": "./assets",
4812
+ "declaringModule": "assets/svg.d.ts"
4813
+ },
4724
4814
  {
4725
4815
  "name": "texture",
4726
4816
  "kind": "function",
@@ -8987,6 +9077,36 @@
8987
9077
  "subpath": "./roguelike",
8988
9078
  "declaringModule": "roguelike/Targeting.d.ts"
8989
9079
  },
9080
+ {
9081
+ "name": "CaveChamber",
9082
+ "kind": "interface",
9083
+ "subpath": "./roguelike",
9084
+ "declaringModule": "roguelike/Cave.d.ts"
9085
+ },
9086
+ {
9087
+ "name": "CaveOptions",
9088
+ "kind": "interface",
9089
+ "subpath": "./roguelike",
9090
+ "declaringModule": "roguelike/Cave.d.ts"
9091
+ },
9092
+ {
9093
+ "name": "CavePassage",
9094
+ "kind": "interface",
9095
+ "subpath": "./roguelike",
9096
+ "declaringModule": "roguelike/Cave.d.ts"
9097
+ },
9098
+ {
9099
+ "name": "CaveResult",
9100
+ "kind": "interface",
9101
+ "subpath": "./roguelike",
9102
+ "declaringModule": "roguelike/Cave.d.ts"
9103
+ },
9104
+ {
9105
+ "name": "CaveStart",
9106
+ "kind": "interface",
9107
+ "subpath": "./roguelike",
9108
+ "declaringModule": "roguelike/Cave.d.ts"
9109
+ },
8990
9110
  {
8991
9111
  "name": "CellFeatureDef",
8992
9112
  "kind": "interface",
@@ -9173,6 +9293,12 @@
9173
9293
  "subpath": "./roguelike",
9174
9294
  "declaringModule": "roguelike/generate.d.ts"
9175
9295
  },
9296
+ {
9297
+ "name": "generateCave",
9298
+ "kind": "function",
9299
+ "subpath": "./roguelike",
9300
+ "declaringModule": "roguelike/Cave.d.ts"
9301
+ },
9176
9302
  {
9177
9303
  "name": "generateDungeon",
9178
9304
  "kind": "function",
@@ -9185,6 +9311,12 @@
9185
9311
  "subpath": "./roguelike",
9186
9312
  "declaringModule": "roguelike/generate.d.ts"
9187
9313
  },
9314
+ {
9315
+ "name": "generateOverworld",
9316
+ "kind": "function",
9317
+ "subpath": "./roguelike",
9318
+ "declaringModule": "roguelike/Overworld.d.ts"
9319
+ },
9188
9320
  {
9189
9321
  "name": "hallBuilder",
9190
9322
  "kind": "const",
@@ -9263,6 +9395,36 @@
9263
9395
  "subpath": "./roguelike",
9264
9396
  "declaringModule": "roguelike/Level.d.ts"
9265
9397
  },
9398
+ {
9399
+ "name": "OverworldInterest",
9400
+ "kind": "interface",
9401
+ "subpath": "./roguelike",
9402
+ "declaringModule": "roguelike/Overworld.d.ts"
9403
+ },
9404
+ {
9405
+ "name": "OverworldOptions",
9406
+ "kind": "interface",
9407
+ "subpath": "./roguelike",
9408
+ "declaringModule": "roguelike/Overworld.d.ts"
9409
+ },
9410
+ {
9411
+ "name": "OverworldResult",
9412
+ "kind": "interface",
9413
+ "subpath": "./roguelike",
9414
+ "declaringModule": "roguelike/Overworld.d.ts"
9415
+ },
9416
+ {
9417
+ "name": "OverworldSettlement",
9418
+ "kind": "interface",
9419
+ "subpath": "./roguelike",
9420
+ "declaringModule": "roguelike/Overworld.d.ts"
9421
+ },
9422
+ {
9423
+ "name": "OverworldTerrain",
9424
+ "kind": "type",
9425
+ "subpath": "./roguelike",
9426
+ "declaringModule": "roguelike/Overworld.d.ts"
9427
+ },
9266
9428
  {
9267
9429
  "name": "Pathfinder",
9268
9430
  "kind": "class",
@@ -10127,6 +10289,120 @@
10127
10289
  "subpath": "./simulation",
10128
10290
  "declaringModule": "simulation/Runtime.d.ts"
10129
10291
  },
10292
+ {
10293
+ "name": "advance",
10294
+ "kind": "function",
10295
+ "subpath": "./skeleton",
10296
+ "declaringModule": "skeleton/index.d.ts"
10297
+ },
10298
+ {
10299
+ "name": "advancePlayback",
10300
+ "kind": "function",
10301
+ "subpath": "./skeleton",
10302
+ "declaringModule": "skeleton/index.d.ts"
10303
+ },
10304
+ {
10305
+ "name": "Bone",
10306
+ "kind": "interface",
10307
+ "subpath": "./skeleton",
10308
+ "declaringModule": "skeleton/index.d.ts"
10309
+ },
10310
+ {
10311
+ "name": "boneOrder",
10312
+ "kind": "function",
10313
+ "subpath": "./skeleton",
10314
+ "declaringModule": "skeleton/index.d.ts"
10315
+ },
10316
+ {
10317
+ "name": "BoneTransform",
10318
+ "kind": "interface",
10319
+ "subpath": "./skeleton",
10320
+ "declaringModule": "skeleton/index.d.ts"
10321
+ },
10322
+ {
10323
+ "name": "Clip",
10324
+ "kind": "interface",
10325
+ "subpath": "./skeleton",
10326
+ "declaringModule": "skeleton/index.d.ts"
10327
+ },
10328
+ {
10329
+ "name": "create",
10330
+ "kind": "function",
10331
+ "subpath": "./skeleton",
10332
+ "declaringModule": "skeleton/index.d.ts"
10333
+ },
10334
+ {
10335
+ "name": "createMixer",
10336
+ "kind": "function",
10337
+ "subpath": "./skeleton",
10338
+ "declaringModule": "skeleton/index.d.ts"
10339
+ },
10340
+ {
10341
+ "name": "crossfadeTo",
10342
+ "kind": "function",
10343
+ "subpath": "./skeleton",
10344
+ "declaringModule": "skeleton/index.d.ts"
10345
+ },
10346
+ {
10347
+ "name": "Keyframe",
10348
+ "kind": "interface",
10349
+ "subpath": "./skeleton",
10350
+ "declaringModule": "skeleton/index.d.ts"
10351
+ },
10352
+ {
10353
+ "name": "Layer",
10354
+ "kind": "interface",
10355
+ "subpath": "./skeleton",
10356
+ "declaringModule": "skeleton/index.d.ts"
10357
+ },
10358
+ {
10359
+ "name": "Mixer",
10360
+ "kind": "interface",
10361
+ "subpath": "./skeleton",
10362
+ "declaringModule": "skeleton/index.d.ts"
10363
+ },
10364
+ {
10365
+ "name": "mixPoses",
10366
+ "kind": "function",
10367
+ "subpath": "./skeleton",
10368
+ "declaringModule": "skeleton/index.d.ts"
10369
+ },
10370
+ {
10371
+ "name": "Playback",
10372
+ "kind": "interface",
10373
+ "subpath": "./skeleton",
10374
+ "declaringModule": "skeleton/index.d.ts"
10375
+ },
10376
+ {
10377
+ "name": "Pose",
10378
+ "kind": "type",
10379
+ "subpath": "./skeleton",
10380
+ "declaringModule": "skeleton/index.d.ts"
10381
+ },
10382
+ {
10383
+ "name": "resolve",
10384
+ "kind": "function",
10385
+ "subpath": "./skeleton",
10386
+ "declaringModule": "skeleton/index.d.ts"
10387
+ },
10388
+ {
10389
+ "name": "samplePose",
10390
+ "kind": "function",
10391
+ "subpath": "./skeleton",
10392
+ "declaringModule": "skeleton/index.d.ts"
10393
+ },
10394
+ {
10395
+ "name": "SkeletonBones",
10396
+ "kind": "interface",
10397
+ "subpath": "./skeleton",
10398
+ "declaringModule": "skeleton/index.d.ts"
10399
+ },
10400
+ {
10401
+ "name": "createSceneControls",
10402
+ "kind": "function",
10403
+ "subpath": "./testing",
10404
+ "declaringModule": "testing/SceneControls.d.ts"
10405
+ },
10130
10406
  {
10131
10407
  "name": "fakeAudio",
10132
10408
  "kind": "function",
@@ -10175,6 +10451,18 @@
10175
10451
  "subpath": "./testing",
10176
10452
  "declaringModule": "testing/index.d.ts"
10177
10453
  },
10454
+ {
10455
+ "name": "SceneControls",
10456
+ "kind": "interface",
10457
+ "subpath": "./testing",
10458
+ "declaringModule": "testing/SceneControls.d.ts"
10459
+ },
10460
+ {
10461
+ "name": "SceneStep",
10462
+ "kind": "type",
10463
+ "subpath": "./testing",
10464
+ "declaringModule": "testing/SceneControls.d.ts"
10465
+ },
10178
10466
  {
10179
10467
  "name": "spawn",
10180
10468
  "kind": "function",
@@ -10421,6 +10709,12 @@
10421
10709
  "subpath": "./two-d",
10422
10710
  "declaringModule": "two-d/render/ImageModifiers.d.ts"
10423
10711
  },
10712
+ {
10713
+ "name": "ArticulatedChain",
10714
+ "kind": "class",
10715
+ "subpath": "./two-d",
10716
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
10717
+ },
10424
10718
  {
10425
10719
  "name": "assertAutotileLayout",
10426
10720
  "kind": "function",
@@ -10601,6 +10895,18 @@
10601
10895
  "subpath": "./two-d",
10602
10896
  "declaringModule": "two-d/render/Camera.d.ts"
10603
10897
  },
10898
+ {
10899
+ "name": "ChainOptions",
10900
+ "kind": "interface",
10901
+ "subpath": "./two-d",
10902
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
10903
+ },
10904
+ {
10905
+ "name": "ChainRig",
10906
+ "kind": "class",
10907
+ "subpath": "./two-d",
10908
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
10909
+ },
10604
10910
  {
10605
10911
  "name": "channelScaleMatrix",
10606
10912
  "kind": "function",
@@ -11411,6 +11717,18 @@
11411
11717
  "subpath": "./two-d",
11412
11718
  "declaringModule": "two-d/render/Minimap.d.ts"
11413
11719
  },
11720
+ {
11721
+ "name": "MotionHandle",
11722
+ "kind": "interface",
11723
+ "subpath": "./two-d",
11724
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
11725
+ },
11726
+ {
11727
+ "name": "MotionTarget",
11728
+ "kind": "interface",
11729
+ "subpath": "./two-d",
11730
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
11731
+ },
11414
11732
  {
11415
11733
  "name": "NeighborMask",
11416
11734
  "kind": "interface",
@@ -11993,6 +12311,12 @@
11993
12311
  "subpath": "./two-d",
11994
12312
  "declaringModule": "two-d/stage/DialogueStage.d.ts"
11995
12313
  },
12314
+ {
12315
+ "name": "SkeletalSprite",
12316
+ "kind": "class",
12317
+ "subpath": "./two-d",
12318
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
12319
+ },
11996
12320
  {
11997
12321
  "name": "Skin",
11998
12322
  "kind": "interface",
@@ -12119,6 +12443,18 @@
12119
12443
  "subpath": "./two-d",
12120
12444
  "declaringModule": "two-d/render/SpriteGroup.d.ts"
12121
12445
  },
12446
+ {
12447
+ "name": "SpriteMotion",
12448
+ "kind": "class",
12449
+ "subpath": "./two-d",
12450
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
12451
+ },
12452
+ {
12453
+ "name": "SpriteMotionOptions",
12454
+ "kind": "interface",
12455
+ "subpath": "./two-d",
12456
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
12457
+ },
12122
12458
  {
12123
12459
  "name": "SpriteSheet",
12124
12460
  "kind": "class",
@@ -12743,6 +13079,12 @@
12743
13079
  "subpath": "./two-d/render",
12744
13080
  "declaringModule": "two-d/render/ImageModifiers.d.ts"
12745
13081
  },
13082
+ {
13083
+ "name": "ArticulatedChain",
13084
+ "kind": "class",
13085
+ "subpath": "./two-d/render",
13086
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
13087
+ },
12746
13088
  {
12747
13089
  "name": "assertAutotileLayout",
12748
13090
  "kind": "function",
@@ -12863,6 +13205,18 @@
12863
13205
  "subpath": "./two-d/render",
12864
13206
  "declaringModule": "two-d/render/Camera.d.ts"
12865
13207
  },
13208
+ {
13209
+ "name": "ChainOptions",
13210
+ "kind": "interface",
13211
+ "subpath": "./two-d/render",
13212
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
13213
+ },
13214
+ {
13215
+ "name": "ChainRig",
13216
+ "kind": "class",
13217
+ "subpath": "./two-d/render",
13218
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
13219
+ },
12866
13220
  {
12867
13221
  "name": "channelScaleMatrix",
12868
13222
  "kind": "function",
@@ -13175,6 +13529,18 @@
13175
13529
  "subpath": "./two-d/render",
13176
13530
  "declaringModule": "two-d/render/Minimap.d.ts"
13177
13531
  },
13532
+ {
13533
+ "name": "MotionHandle",
13534
+ "kind": "interface",
13535
+ "subpath": "./two-d/render",
13536
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13537
+ },
13538
+ {
13539
+ "name": "MotionTarget",
13540
+ "kind": "interface",
13541
+ "subpath": "./two-d/render",
13542
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13543
+ },
13178
13544
  {
13179
13545
  "name": "NeighborMask",
13180
13546
  "kind": "interface",
@@ -13541,6 +13907,12 @@
13541
13907
  "subpath": "./two-d/render",
13542
13908
  "declaringModule": "two-d/render/Shape2D.d.ts"
13543
13909
  },
13910
+ {
13911
+ "name": "SkeletalSprite",
13912
+ "kind": "class",
13913
+ "subpath": "./two-d/render",
13914
+ "declaringModule": "two-d/render/SkeletalSprite.d.ts"
13915
+ },
13544
13916
  {
13545
13917
  "name": "snapZoom",
13546
13918
  "kind": "function",
@@ -13589,6 +13961,18 @@
13589
13961
  "subpath": "./two-d/render",
13590
13962
  "declaringModule": "two-d/render/SpriteGroup.d.ts"
13591
13963
  },
13964
+ {
13965
+ "name": "SpriteMotion",
13966
+ "kind": "class",
13967
+ "subpath": "./two-d/render",
13968
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13969
+ },
13970
+ {
13971
+ "name": "SpriteMotionOptions",
13972
+ "kind": "interface",
13973
+ "subpath": "./two-d/render",
13974
+ "declaringModule": "two-d/render/SpriteMotion.d.ts"
13975
+ },
13592
13976
  {
13593
13977
  "name": "SpriteSheet",
13594
13978
  "kind": "class",
@@ -15,6 +15,8 @@ export type { AssetProgress } from './paths.ts';
15
15
  export { load, texture, get, isLoaded, release } from './loader.ts';
16
16
  export type { LoadAssetsOptions } from './loader.ts';
17
17
  export { loadBinary, getBinary, isBinaryLoaded, releaseBinary } from './binary.ts';
18
+ export { sanitizeSvg, svgScaleVariants, svgDataUri, splitSvgGroups } from './svg.ts';
19
+ export type { ScaleVariant, SvgVariant } from './svg.ts';
18
20
  export type { LoadBinaryOptions } from './binary.ts';
19
21
  export { AssetStream } from './Streaming.ts';
20
22
  export type { AssetBundle, AssetStreamOptions } from './Streaming.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACnF,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACnF,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -13,6 +13,7 @@
13
13
  export { setBase, setAssetMap, isCompiled, paths, has, resolve } from './paths.js';
14
14
  export { load, texture, get, isLoaded, release } from './loader.js';
15
15
  export { loadBinary, getBinary, isBinaryLoaded, releaseBinary } from './binary.js';
16
+ export { sanitizeSvg, svgScaleVariants, svgDataUri, splitSvgGroups } from './svg.js';
16
17
  export { AssetStream } from './Streaming.js';
17
18
  export { fetchWithByteProgress } from './ByteProgress.js';
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGnF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGnF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGnF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAIrF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}