@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
@@ -0,0 +1,121 @@
1
+ import { Tweener } from '../../core/Tween.ts';
2
+ import { type MotionIntent } from '../../core/Motion.ts';
3
+ /** any object with a display transform; a Pixi `Sprite` or `Container`, or a plain double in a test */
4
+ export interface MotionTarget {
5
+ x: number;
6
+ y: number;
7
+ rotation: number;
8
+ scale: {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ skew: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ }
17
+ export interface SpriteMotionOptions {
18
+ /** share a `Tweener` with other features, driven by its owner; by default this owns one, driven by `update(dt)` */
19
+ tweener?: Tweener;
20
+ /** what the effects are for under reduced motion; defaults to `decorative`, which collapses them */
21
+ intent?: MotionIntent;
22
+ }
23
+ /** what a running effect gives back: await `done`, or `cancel()` to restore its share of the transform at once */
24
+ export interface MotionHandle {
25
+ readonly done: Promise<void>;
26
+ cancel(): void;
27
+ }
28
+ /**
29
+ * Squash, hop, bob, wobble, spin, shear and flip over a display object's transform, each
30
+ * running through a `Tweener` so reduced motion is honoured once, here, instead of by every
31
+ * game's own `scale`/`Math.sin` write.
32
+ *
33
+ * The object's transform at construction is its rest pose. Every running effect keeps its own
34
+ * contribution and the transform is recomputed from the rest pose and all contributions, so
35
+ * effects compose (a hop with a squash) and never accumulate drift: when one ends, is
36
+ * cancelled, or the whole motion is destroyed, its share simply disappears. Rotation and
37
+ * shear turn about the object's origin, so give a sprite a centred anchor (or pivot) first.
38
+ * Sequence effects behind a game event by awaiting a handle's `done`.
39
+ *
40
+ * Which effect plays on which event, and how much, is the game's business; this only moves.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * import { SpriteMotion } from '@datamoc/mw_games/two-d/render';
45
+ *
46
+ * const rat = { x: 0, y: 0, rotation: 0, scale: { x: 1, y: 1 }, skew: { x: 0, y: 0 } };
47
+ * const motion = new SpriteMotion(rat);
48
+ *
49
+ * motion.hop({ height: 6, duration: 0.3 }); // up and back down
50
+ * motion.squash({ amount: 0.2, duration: 0.3 }); // composes with the hop
51
+ * motion.flip('x'); // face the other way, composes with both
52
+ * motion.update(1 / 60); // in the game loop
53
+ *
54
+ * motion.destroy(); // back to the rest pose, flip included
55
+ * ```
56
+ */
57
+ export declare class SpriteMotion {
58
+ private readonly target;
59
+ private readonly tweener;
60
+ private readonly ownsTweener;
61
+ private readonly intent;
62
+ private readonly rest;
63
+ private readonly contributions;
64
+ private readonly loops;
65
+ private nextId;
66
+ private flipX;
67
+ private flipY;
68
+ private destroyed;
69
+ constructor(target: MotionTarget, options?: SpriteMotionOptions);
70
+ /** scale x and y in opposition and back: `amount` 0.2 is 20% wider and 20% shorter at the peak */
71
+ squash(options: {
72
+ amount: number;
73
+ duration: number;
74
+ }): MotionHandle;
75
+ /** up `height` world units and back down (the rest pose is the ground) */
76
+ hop(options: {
77
+ height: number;
78
+ duration: number;
79
+ }): MotionHandle;
80
+ /**
81
+ * A sinusoidal vertical offset of `amplitude`. With `cycles` it plays that many periods and
82
+ * ends; without, it loops until cancelled (breathing, a floating item). Under reduced motion
83
+ * a looping bob holds still.
84
+ */
85
+ bob(options: {
86
+ amplitude: number;
87
+ period: number;
88
+ cycles?: number;
89
+ }): MotionHandle;
90
+ /** swings `angle` radians either side and settles, a jiggle that dies away */
91
+ wobble(options: {
92
+ angle: number;
93
+ duration: number;
94
+ }): MotionHandle;
95
+ /** `turns` full turns about the origin, eased, ending exactly where it started */
96
+ spin(options: {
97
+ turns: number;
98
+ duration: number;
99
+ }): MotionHandle;
100
+ /** leans by `amount` radians of skew and back, a hit-recoil or a lean into a step */
101
+ shear(options: {
102
+ amount: number;
103
+ duration: number;
104
+ }): MotionHandle;
105
+ /**
106
+ * Mirrors along `axis` ('x' turns left to right). A state, not an animation: it composes
107
+ * with whatever is running and is undone by `destroy`. Pass `mirrored` to set it outright
108
+ * rather than toggle; returns the new state.
109
+ */
110
+ flip(axis: 'x' | 'y', mirrored?: boolean): boolean;
111
+ /** advances the effects; call from the game loop (the tweener part is skipped for a shared one) */
112
+ update(dt: number): void;
113
+ /** true while any effect is still running */
114
+ get isBusy(): boolean;
115
+ /** cancels every effect and puts the object back in its rest pose, flips included */
116
+ destroy(): void;
117
+ private run;
118
+ private loop;
119
+ private write;
120
+ }
121
+ //# sourceMappingURL=SpriteMotion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteMotion.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/SpriteMotion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ import { Easing, Tweener } from '../../core/Tween.js';
2
+ import { reducedMotion } from '../../core/Motion.js';
3
+ const NONE = { scaleX: 1, scaleY: 1, dy: 0, rotation: 0, skewX: 0 };
4
+ const INERT = { done: Promise.resolve(), cancel() { } };
5
+ /**
6
+ * Squash, hop, bob, wobble, spin, shear and flip over a display object's transform, each
7
+ * running through a `Tweener` so reduced motion is honoured once, here, instead of by every
8
+ * game's own `scale`/`Math.sin` write.
9
+ *
10
+ * The object's transform at construction is its rest pose. Every running effect keeps its own
11
+ * contribution and the transform is recomputed from the rest pose and all contributions, so
12
+ * effects compose (a hop with a squash) and never accumulate drift: when one ends, is
13
+ * cancelled, or the whole motion is destroyed, its share simply disappears. Rotation and
14
+ * shear turn about the object's origin, so give a sprite a centred anchor (or pivot) first.
15
+ * Sequence effects behind a game event by awaiting a handle's `done`.
16
+ *
17
+ * Which effect plays on which event, and how much, is the game's business; this only moves.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { SpriteMotion } from '@datamoc/mw_games/two-d/render';
22
+ *
23
+ * const rat = { x: 0, y: 0, rotation: 0, scale: { x: 1, y: 1 }, skew: { x: 0, y: 0 } };
24
+ * const motion = new SpriteMotion(rat);
25
+ *
26
+ * motion.hop({ height: 6, duration: 0.3 }); // up and back down
27
+ * motion.squash({ amount: 0.2, duration: 0.3 }); // composes with the hop
28
+ * motion.flip('x'); // face the other way, composes with both
29
+ * motion.update(1 / 60); // in the game loop
30
+ *
31
+ * motion.destroy(); // back to the rest pose, flip included
32
+ * ```
33
+ */
34
+ export class SpriteMotion {
35
+ constructor(target, options = {}) {
36
+ this.contributions = new Map();
37
+ this.loops = new Set();
38
+ this.nextId = 0;
39
+ this.flipX = false;
40
+ this.flipY = false;
41
+ this.destroyed = false;
42
+ this.target = target;
43
+ this.tweener = options.tweener ?? new Tweener();
44
+ this.ownsTweener = options.tweener === undefined;
45
+ this.intent = options.intent ?? 'decorative';
46
+ this.rest = {
47
+ y: target.y,
48
+ rotation: target.rotation,
49
+ scaleX: target.scale.x,
50
+ scaleY: target.scale.y,
51
+ skewX: target.skew.x,
52
+ };
53
+ }
54
+ /** scale x and y in opposition and back: `amount` 0.2 is 20% wider and 20% shorter at the peak */
55
+ squash(options) {
56
+ const { amount, duration } = options;
57
+ return this.run(duration, (t) => {
58
+ const s = Math.sin(Math.PI * t) * amount;
59
+ return { scaleX: 1 + s, scaleY: 1 - s };
60
+ });
61
+ }
62
+ /** up `height` world units and back down (the rest pose is the ground) */
63
+ hop(options) {
64
+ const { height, duration } = options;
65
+ return this.run(duration, (t) => ({ dy: -Math.sin(Math.PI * t) * height }));
66
+ }
67
+ /**
68
+ * A sinusoidal vertical offset of `amplitude`. With `cycles` it plays that many periods and
69
+ * ends; without, it loops until cancelled (breathing, a floating item). Under reduced motion
70
+ * a looping bob holds still.
71
+ */
72
+ bob(options) {
73
+ const { amplitude, period, cycles } = options;
74
+ if (cycles !== undefined) {
75
+ return this.run(period * cycles, (t) => ({ dy: Math.sin(2 * Math.PI * cycles * t) * amplitude }));
76
+ }
77
+ return this.loop((elapsed) => ({ dy: Math.sin((2 * Math.PI * elapsed) / period) * amplitude }));
78
+ }
79
+ /** swings `angle` radians either side and settles, a jiggle that dies away */
80
+ wobble(options) {
81
+ const { angle, duration } = options;
82
+ return this.run(duration, (t) => ({ rotation: Math.sin(4 * Math.PI * t) * (1 - t) * angle }));
83
+ }
84
+ /** `turns` full turns about the origin, eased, ending exactly where it started */
85
+ spin(options) {
86
+ const { turns, duration } = options;
87
+ return this.run(duration, (t) => ({ rotation: Math.PI * 2 * turns * t }), Easing.easeInOutQuad);
88
+ }
89
+ /** leans by `amount` radians of skew and back, a hit-recoil or a lean into a step */
90
+ shear(options) {
91
+ const { amount, duration } = options;
92
+ return this.run(duration, (t) => ({ skewX: Math.sin(Math.PI * t) * amount }));
93
+ }
94
+ /**
95
+ * Mirrors along `axis` ('x' turns left to right). A state, not an animation: it composes
96
+ * with whatever is running and is undone by `destroy`. Pass `mirrored` to set it outright
97
+ * rather than toggle; returns the new state.
98
+ */
99
+ flip(axis, mirrored) {
100
+ if (axis === 'x')
101
+ this.flipX = mirrored ?? !this.flipX;
102
+ else
103
+ this.flipY = mirrored ?? !this.flipY;
104
+ this.write();
105
+ return axis === 'x' ? this.flipX : this.flipY;
106
+ }
107
+ /** advances the effects; call from the game loop (the tweener part is skipped for a shared one) */
108
+ update(dt) {
109
+ if (this.ownsTweener)
110
+ this.tweener.update(dt);
111
+ for (const advance of [...this.loops])
112
+ advance(dt);
113
+ }
114
+ /** true while any effect is still running */
115
+ get isBusy() {
116
+ return this.contributions.size > 0;
117
+ }
118
+ /** cancels every effect and puts the object back in its rest pose, flips included */
119
+ destroy() {
120
+ this.destroyed = true;
121
+ this.contributions.clear();
122
+ this.loops.clear();
123
+ this.flipX = this.flipY = false;
124
+ this.write();
125
+ }
126
+ run(duration, shape, ease = Easing.linear) {
127
+ if (this.destroyed)
128
+ return INERT;
129
+ const id = this.nextId++;
130
+ const finish = () => {
131
+ this.contributions.delete(id);
132
+ this.write();
133
+ };
134
+ this.contributions.set(id, NONE);
135
+ const done = this.tweener
136
+ .tween(duration, (t) => {
137
+ //a cancelled effect's tween still ticks to its end; it must not write again
138
+ if (!this.contributions.has(id))
139
+ return;
140
+ this.contributions.set(id, { ...NONE, ...shape(t) });
141
+ this.write();
142
+ }, { ease, intent: this.intent })
143
+ .then(finish);
144
+ return { done, cancel: finish };
145
+ }
146
+ loop(shape) {
147
+ if (this.destroyed)
148
+ return INERT;
149
+ const id = this.nextId++;
150
+ let elapsed = 0;
151
+ let resolve;
152
+ const done = new Promise((r) => (resolve = r));
153
+ const advance = (dt) => {
154
+ elapsed += dt;
155
+ //a decorative loop has no reason to move once the preference is on
156
+ const held = reducedMotion() && this.intent === 'decorative';
157
+ this.contributions.set(id, held ? NONE : { ...NONE, ...shape(elapsed) });
158
+ this.write();
159
+ };
160
+ this.contributions.set(id, NONE);
161
+ this.loops.add(advance);
162
+ return {
163
+ done,
164
+ cancel: () => {
165
+ this.loops.delete(advance);
166
+ this.contributions.delete(id);
167
+ this.write();
168
+ resolve();
169
+ },
170
+ };
171
+ }
172
+ write() {
173
+ let scaleX = 1;
174
+ let scaleY = 1;
175
+ let dy = 0;
176
+ let rotation = 0;
177
+ let skewX = 0;
178
+ for (const c of this.contributions.values()) {
179
+ scaleX *= c.scaleX;
180
+ scaleY *= c.scaleY;
181
+ dy += c.dy;
182
+ rotation += c.rotation;
183
+ skewX += c.skewX;
184
+ }
185
+ const { rest, target } = this;
186
+ target.y = rest.y + dy;
187
+ target.rotation = rest.rotation + rotation;
188
+ target.scale.x = rest.scaleX * scaleX * (this.flipX ? -1 : 1);
189
+ target.scale.y = rest.scaleY * scaleY * (this.flipY ? -1 : 1);
190
+ target.skew.x = rest.skewX + skewX;
191
+ }
192
+ }
193
+ //# sourceMappingURL=SpriteMotion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteMotion.js","sourceRoot":"","sources":["../../../src/two-d/render/SpriteMotion.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export type { ChannelSource, ImageModifier, ImageTextureProbe, ParsedImagePath,
6
6
  export { AnimatedSprite, Animation } from './AnimatedSprite.ts';
7
7
  export type { AnimationFrame, AnimationFrameInput, AnimationOptions } from './AnimatedSprite.ts';
8
8
  export { SpriteGroup, isOnScreen } from './SpriteGroup.ts';
9
+ export { SkeletalSprite, ArticulatedChain, ChainRig } from './SkeletalSprite.ts';
10
+ export type { ChainOptions } from './SkeletalSprite.ts';
9
11
  export type { SpriteGroupMember } from './SpriteGroup.ts';
10
12
  export { SpriteSheet } from './SpriteSheet.ts';
11
13
  export { Camera, createCamera, snapZoom } from './Camera.ts';
@@ -43,6 +45,8 @@ export { ActorAnimator } from './ActorAnimator.ts';
43
45
  export type { ActorAnimationState, ActorAnimatorOptions } from './ActorAnimator.ts';
44
46
  export { StatusVisuals } from './StatusVisuals.ts';
45
47
  export type { TintTarget, StatusVisualStyle, StatusVisualsOptions } from './StatusVisuals.ts';
48
+ export { SpriteMotion } from './SpriteMotion.ts';
49
+ export type { MotionTarget, MotionHandle, SpriteMotionOptions } from './SpriteMotion.ts';
46
50
  export { blobIndex, autotileFrames, BLOB_SHAPES } from './Autotile.ts';
47
51
  export type { NeighborMask } from './Autotile.ts';
48
52
  export { RpgmAutotileAtlas, rpgmAutotileFrame, rpgmAutotileSlot, xpAutotileRef, xpAutotilePattern, assertAutotileLayout, autotileCellParts, rpgmTableEdgeCells, RPGM_AUTOTILE_SLOT_BASES, RPGM_AUTOTILE_SLOT_COUNTS, RPGM_FLOOR_AUTOTILE_TABLE, RPGM_WALL_AUTOTILE_TABLE, XP_AUTOTILE_PATTERNS, XP_NEIGHBORS_TO_PATTERN, } from './RpgmAutotile.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC5G,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,aAAa,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACX,QAAQ,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,aAAa,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzG,YAAY,EACX,6BAA6B,EAC7B,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnG,YAAY,EACX,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3E,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtG,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxG,YAAY,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EACX,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,GACV,MAAM,eAAe,CAAC"}
@@ -3,6 +3,7 @@ export { TintedSprite, registerColorTransform } from './TintedSprite.js';
3
3
  export { applyAllImageModifiers, applyImageModifiers, applyTextureModifiers, blendMatrix, blendPixels, channelScaleMatrix, channelSwapMatrix, colorShiftMatrix, croppedTexture, imageModifier, maskPixels, parseColorPairs, parseImagePath, parsePaletteLists, parseRotateMode, rotatePixels, spriteColorMatrix, } from './ImageModifiers.js';
4
4
  export { AnimatedSprite, Animation } from './AnimatedSprite.js';
5
5
  export { SpriteGroup, isOnScreen } from './SpriteGroup.js';
6
+ export { SkeletalSprite, ArticulatedChain, ChainRig } from './SkeletalSprite.js';
6
7
  export { SpriteSheet } from './SpriteSheet.js';
7
8
  export { Camera, createCamera, snapZoom } from './Camera.js';
8
9
  export { Viewport, splitScreenHalves } from './Viewport.js';
@@ -22,6 +23,7 @@ export { ParticleEmitter } from './Particles.js';
22
23
  export { ScreenEffects } from './ScreenEffects.js';
23
24
  export { ActorAnimator } from './ActorAnimator.js';
24
25
  export { StatusVisuals } from './StatusVisuals.js';
26
+ export { SpriteMotion } from './SpriteMotion.js';
25
27
  export { blobIndex, autotileFrames, BLOB_SHAPES } from './Autotile.js';
26
28
  export { RpgmAutotileAtlas, rpgmAutotileFrame, rpgmAutotileSlot, xpAutotileRef, xpAutotilePattern, assertAutotileLayout, autotileCellParts, rpgmTableEdgeCells, RPGM_AUTOTILE_SLOT_BASES, RPGM_AUTOTILE_SLOT_COUNTS, RPGM_FLOOR_AUTOTILE_TABLE, RPGM_WALL_AUTOTILE_TABLE, XP_AUTOTILE_PATTERNS, XP_NEIGHBORS_TO_PATTERN, } from './RpgmAutotile.js';
27
29
  export { hexRotate, matchTerrainRule, resolveTerrainGraphics, squareRotate } from './TerrainGraphics.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/two-d/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG5G,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAWjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACvB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAWzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AASnG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtG,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAUxG,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/two-d/render/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.30.0";
12
+ export declare const version = "0.33.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.30.0';
12
+ export const version = '0.33.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.30.0",
3
+ "version": "0.33.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": {
@@ -161,6 +161,10 @@
161
161
  "types": "./dist/i18n/index.d.ts",
162
162
  "import": "./dist/i18n/index.js"
163
163
  },
164
+ "./skeleton": {
165
+ "types": "./dist/skeleton/index.d.ts",
166
+ "import": "./dist/skeleton/index.js"
167
+ },
164
168
  "./roguelike": {
165
169
  "types": "./dist/roguelike/index.d.ts",
166
170
  "import": "./dist/roguelike/index.js"
@@ -268,6 +272,7 @@
268
272
  "audit": "node tools/npm-audit.mjs",
269
273
  "sbom": "node tools/sbom.mjs",
270
274
  "sbom:check": "node tools/sbom.mjs --check",
275
+ "sbom:write": "node tools/sbom.mjs",
271
276
  "ci:status": "node tools/ci-status.mjs",
272
277
  "example": "vite --config examples/colour-transform/vite.config.ts",
273
278
  "example:build": "vite build --config examples/colour-transform/vite.config.ts && node tools/emit-page.mjs examples/colour-transform --assets=examples/assets",
@@ -412,6 +417,6 @@
412
417
  "types": "./dist/index.d.ts",
413
418
  "unpkg": "./dist/mw_games.global.js",
414
419
  "optionalDependencies": {
415
- "fengari": "^0.1.5"
420
+ "@datamoc/fengari": "^0.2.0"
416
421
  }
417
422
  }