@roost2d/rig2d 0.4.1 → 0.5.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/README.md CHANGED
@@ -13,4 +13,6 @@ rig.applySkin('default');
13
13
  rig.play('idle', { layer: 'base' });
14
14
  ```
15
15
 
16
+ For realtime actions, pass `controlled: true` and call `advance(deltaMs)` from the game clock. `sample(timeMs)` supports silent scrubbing and export, while animation cues report presentation timing without applying gameplay effects. `RigActionController` owns interruption and pose restoration.
17
+
16
18
  The display factory owns renderer objects; dispose the rig and its factory together. [Rig2D guide](https://github.com/Roost2D/roost2d/blob/main/docs/rig2d.md).
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AnimationClipV1, RigDefinitionV1, TextureRef } from '@roost2d/contracts';
1
+ import type { AnimationClipV1, AnimationCueV1, RigDefinitionV1, TextureRef } from '@roost2d/contracts';
2
2
  export interface RigDisplayNode {
3
3
  x: number;
4
4
  y: number;
@@ -23,28 +23,46 @@ export interface RigPlayOptions {
23
23
  repeat?: number;
24
24
  speed?: number;
25
25
  mask?: readonly string[];
26
+ /** Leaves the timeline paused so the caller can drive it with sample() or advance(). */
27
+ controlled?: boolean;
28
+ onCue?: (event: RigCueEvent) => void;
26
29
  onComplete?: () => void;
27
30
  }
31
+ export interface RigCueEvent {
32
+ clipId: string;
33
+ cue: AnimationCueV1;
34
+ elapsedMs: number;
35
+ }
28
36
  /** Renderer-neutral animation control. GSAP remains an implementation detail. */
29
37
  export interface RigAnimationHandle {
30
38
  kill(): void;
31
39
  pause(): unknown;
32
40
  play(): unknown;
41
+ progress(value?: number): number | unknown;
42
+ yoyo(): boolean;
43
+ /** Samples an absolute elapsed time. Sampling is silent unless emitCues is explicitly true. */
44
+ sample(timeMs: number, emitCues?: boolean): void;
45
+ /** Advances from the last sampled time and emits every crossed cue once. */
46
+ advance(deltaMs: number): void;
47
+ readonly elapsedMs: number;
48
+ readonly completed: boolean;
33
49
  }
34
50
  export declare class RigRuntime {
35
51
  readonly definition: RigDefinitionV1;
36
52
  private readonly factory;
37
53
  private readonly bones;
38
54
  private readonly attachments;
55
+ private readonly sockets;
39
56
  private readonly slotAttachments;
40
57
  private readonly clips;
41
- private readonly timelines;
58
+ private readonly playbacks;
42
59
  private readonly baseBoneZIndexes;
43
60
  private readonly activeGroups;
44
61
  private readonly manualAttachments;
45
62
  private readonly visibilityOverrides;
46
63
  private readonly layerSpeeds;
47
64
  private runtimeSpeed;
65
+ private mirrored;
48
66
  private skinId?;
49
67
  private disposed;
50
68
  constructor(definition: RigDefinitionV1, factory: RigDisplayFactory, clips?: readonly AnimationClipV1[]);
@@ -70,7 +88,7 @@ export declare class RigRuntime {
70
88
  setMirrored(mirrored: boolean): void;
71
89
  setTint(tint?: number, attachmentIds?: readonly string[]): void;
72
90
  resetPose(): void;
73
- node(target: 'bone' | 'attachment', id: string): RigDisplayNode | undefined;
91
+ node(target: 'bone' | 'attachment' | 'socket', id: string): RigDisplayNode | undefined;
74
92
  dispose(): void;
75
93
  /** Clips handed straight to `play` skip `registerClip`, so they are validated here instead. */
76
94
  private useClip;
@@ -85,6 +103,28 @@ export declare class RigRuntime {
85
103
  private slotTransformAttachmentId;
86
104
  private slotAnimationTarget;
87
105
  private resolveFollowerParents;
106
+ private resolveSocketParents;
107
+ private socketParent;
88
108
  private normaliseSpeed;
89
109
  }
110
+ export interface RigActionPlayOptions extends RigPlayOptions {
111
+ /** Full-body actions suspend the configured locomotion layer. Defaults to true. */
112
+ fullBody?: boolean;
113
+ }
114
+ /** Owns one interruptible action and restores a stable rig pose when it ends. */
115
+ export declare class RigActionController {
116
+ private readonly rig;
117
+ private readonly options;
118
+ private active?;
119
+ private disposed;
120
+ constructor(rig: RigRuntime, options?: {
121
+ actionLayer?: string;
122
+ locomotionLayer?: string;
123
+ resumeLocomotion?: () => void;
124
+ });
125
+ play(clipOrId: AnimationClipV1 | string, options?: RigActionPlayOptions): RigAnimationHandle;
126
+ cancel(): void;
127
+ dispose(): void;
128
+ private restore;
129
+ }
90
130
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAA0C,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG/H,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC;IAClE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACxE,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,OAAO,CAAC;IACjB,IAAI,IAAI,OAAO,CAAC;CACjB;AAED,qBAAa,UAAU;IAeT,QAAQ,CAAC,UAAU,EAAE,eAAe;IAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAd1E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqC;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IACxE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8B;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEJ,UAAU,EAAE,eAAe,EAAmB,OAAO,EAAE,iBAAiB,EAAE,KAAK,GAAE,SAAS,eAAe,EAAO;IAuBrI,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAKzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAAwB;IAE9D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlC,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAM3C,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAU1D,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,kBAAkB;IACzE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,kBAAkB;IAClE,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,kBAAkB;IActF,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE,KAAK,SAAa,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,kBAAkB;IAIhH,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAK1B,kGAAkG;IAClG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAS,GAAG,IAAI;IAQ1C,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAW7C,kGAAkG;IAClG,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAOnE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKtD,mBAAmB,IAAI,SAAS,MAAM,EAAE;IAExC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKpC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAK/D,SAAS,IAAI,IAAI;IAOjB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAE3E,OAAO,IAAI,IAAI;IAMf,+FAA+F;IAC/F,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,oBAAoB;IAQ5B,kGAAkG;IAClG,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,cAAc;CAIvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,15 +5,17 @@ export class RigRuntime {
5
5
  factory;
6
6
  bones = new Map();
7
7
  attachments = new Map();
8
+ sockets = new Map();
8
9
  slotAttachments = new Map();
9
10
  clips = new Map();
10
- timelines = new Map();
11
+ playbacks = new Map();
11
12
  baseBoneZIndexes = new Map();
12
13
  activeGroups = new Map();
13
14
  manualAttachments = new Map();
14
15
  visibilityOverrides = new Map();
15
16
  layerSpeeds = new Map();
16
17
  runtimeSpeed = 1;
18
+ mirrored = false;
17
19
  skinId;
18
20
  disposed = false;
19
21
  constructor(definition, factory, clips = []) {
@@ -48,6 +50,12 @@ export class RigRuntime {
48
50
  const slotDefinition = definition.slots.find(({ id }) => id === attachment.slotId);
49
51
  factory.attach(attachment.boneId ? this.bones.get(attachment.boneId) : slotDefinition?.boneId ? this.bones.get(slotDefinition.boneId) : undefined, node);
50
52
  }
53
+ for (const socket of definition.sockets ?? []) {
54
+ const node = factory.createBone(`socket:${socket.id}`);
55
+ this.applyTransform(node, socket);
56
+ this.sockets.set(socket.id, node);
57
+ factory.attach(this.socketParent(socket), node);
58
+ }
51
59
  for (const [id, node] of this.bones)
52
60
  this.baseBoneZIndexes.set(id, node.zIndex);
53
61
  for (const clip of clips)
@@ -107,53 +115,59 @@ export class RigRuntime {
107
115
  const clip = typeof clipOrId === 'string' ? this.resolveClip(clipOrId) : this.useClip(clipOrId);
108
116
  const layer = options.layer ?? clip.defaultLayer ?? 'base';
109
117
  this.stop(layer);
110
- const timeline = gsap.timeline({
118
+ const timeline = gsap.timeline({ paused: true,
111
119
  repeat: clip.loop ? (options.repeat ?? -1) : (options.repeat ?? 0),
112
120
  yoyo: clip.loop === true && clip.loopMode === 'ping-pong',
113
- onComplete: () => { this.timelines.delete(layer); options.onComplete?.(); },
114
121
  });
115
122
  const mask = new Set(options.mask ?? clip.mask ?? []);
116
123
  for (const track of clip.tracks)
117
124
  if (!mask.size || mask.has(track.targetId))
118
125
  this.addTrack(timeline, track);
119
- timeline.timeScale(this.normaliseSpeed(options.speed ?? this.layerSpeeds.get(layer) ?? this.runtimeSpeed));
120
- this.timelines.set(layer, timeline);
121
- return timeline;
126
+ // Keep cue-only clips and authored recovery time addressable even when their last tween ends early.
127
+ timeline.to({}, { duration: 0 }, clip.durationMs / 1000);
128
+ const playback = new RigAnimationPlayback(timeline, clip, options, () => {
129
+ if (this.playbacks.get(layer) === playback)
130
+ this.playbacks.delete(layer);
131
+ });
132
+ playback.setSpeed(this.normaliseSpeed(options.speed ?? this.layerSpeeds.get(layer) ?? this.runtimeSpeed));
133
+ this.playbacks.set(layer, playback);
134
+ if (!options.controlled)
135
+ playback.play();
136
+ return playback;
122
137
  }
123
138
  playOneShot(clipOrId, layer = 'reaction', onComplete) {
124
139
  return this.play(clipOrId, { layer, repeat: 0, onComplete });
125
140
  }
126
141
  stop(layer) {
127
142
  if (layer !== undefined) {
128
- this.timelines.get(layer)?.kill();
129
- this.timelines.delete(layer);
143
+ this.playbacks.get(layer)?.kill();
144
+ this.playbacks.delete(layer);
130
145
  return;
131
146
  }
132
- for (const timeline of this.timelines.values())
133
- timeline.kill();
134
- this.timelines.clear();
147
+ for (const playback of [...this.playbacks.values()])
148
+ playback.kill();
149
+ this.playbacks.clear();
135
150
  }
136
151
  /** Pauses and seeks a live animation layer to an exact clip time for previews or frame export. */
137
152
  seek(timeMs, layer = 'base') {
138
153
  if (!Number.isFinite(timeMs) || timeMs < 0)
139
154
  throw new Error('Rig seek time must be a finite non-negative number');
140
- const timeline = this.timelines.get(layer);
141
- if (!timeline)
155
+ const playback = this.playbacks.get(layer);
156
+ if (!playback)
142
157
  throw new Error(`Animation layer is not playing: ${layer}`);
143
- timeline.pause();
144
- timeline.seek(Math.min(timeMs / 1000, timeline.totalDuration()), true);
158
+ playback.sample(timeMs);
145
159
  }
146
160
  /** Sets the default speed for future clips and updates every matching live timeline. */
147
161
  setSpeed(speed, layer) {
148
162
  const value = this.normaliseSpeed(speed);
149
163
  if (layer === undefined) {
150
164
  this.runtimeSpeed = value;
151
- for (const timeline of this.timelines.values())
152
- timeline.timeScale(value);
165
+ for (const playback of this.playbacks.values())
166
+ playback.setSpeed(value);
153
167
  return;
154
168
  }
155
169
  this.layerSpeeds.set(layer, value);
156
- this.timelines.get(layer)?.timeScale(value);
170
+ this.playbacks.get(layer)?.setSpeed(value);
157
171
  }
158
172
  /** Overrides visibility without changing the selected skin, trait group, or manual attachment. */
159
173
  setAttachmentVisible(attachmentId, visible) {
@@ -172,6 +186,7 @@ export class RigRuntime {
172
186
  }
173
187
  activeAttachmentIds() { return [...this.selectedAttachmentIds()]; }
174
188
  setMirrored(mirrored) {
189
+ this.mirrored = mirrored;
175
190
  const root = this.definition.bones.find(({ parentId }) => !parentId);
176
191
  if (!root)
177
192
  return;
@@ -190,16 +205,20 @@ export class RigRuntime {
190
205
  this.applyTransform(this.bones.get(bone.id), bone);
191
206
  for (const attachment of this.definition.attachments)
192
207
  this.applyTransform(this.attachments.get(attachment.id), attachment);
208
+ for (const socket of this.definition.sockets ?? [])
209
+ this.applyTransform(this.sockets.get(socket.id), socket);
193
210
  this.applyVisibility();
211
+ this.setMirrored(this.mirrored);
194
212
  }
195
- node(target, id) { return target === 'bone' ? this.bones.get(id) : this.attachments.get(id); }
213
+ node(target, id) { return target === 'bone' ? this.bones.get(id) : target === 'attachment' ? this.attachments.get(id) : this.sockets.get(id); }
196
214
  dispose() {
197
215
  if (this.disposed)
198
216
  return;
199
217
  this.disposed = true;
200
218
  this.stop();
201
- for (const node of [...this.attachments.values(), ...this.bones.values()])
219
+ for (const node of [...this.sockets.values(), ...this.attachments.values(), ...this.bones.values()])
202
220
  this.factory.destroy(node);
221
+ this.sockets.clear();
203
222
  this.attachments.clear();
204
223
  this.slotAttachments.clear();
205
224
  this.bones.clear();
@@ -239,6 +258,7 @@ export class RigRuntime {
239
258
  }
240
259
  this.applyGroupDepthOverrides();
241
260
  this.resolveFollowerParents();
261
+ this.resolveSocketParents();
242
262
  }
243
263
  applyGroupDepthOverrides() {
244
264
  for (const [boneId, zIndex] of this.baseBoneZIndexes)
@@ -344,10 +364,149 @@ export class RigRuntime {
344
364
  this.factory.attach(attachment?.boneId ? this.bones.get(attachment.boneId) : undefined, this.bones.get(bone.id));
345
365
  }
346
366
  }
367
+ resolveSocketParents() {
368
+ for (const socket of this.definition.sockets ?? [])
369
+ this.factory.attach(this.socketParent(socket), this.sockets.get(socket.id));
370
+ }
371
+ socketParent(socket) {
372
+ if (socket.target === 'bone')
373
+ return this.bones.get(socket.targetId);
374
+ if (socket.target === 'attachment')
375
+ return this.attachments.get(socket.targetId);
376
+ return this.slotAnimationTarget(socket.targetId);
377
+ }
347
378
  normaliseSpeed(speed) {
348
379
  if (!Number.isFinite(speed) || speed < 0)
349
380
  throw new Error('Rig speed must be a finite non-negative number');
350
381
  return speed;
351
382
  }
352
383
  }
384
+ /** Playback wrapper shared by realtime rendering, previews, and deterministic export. */
385
+ class RigAnimationPlayback {
386
+ timeline;
387
+ clip;
388
+ options;
389
+ finalize;
390
+ #elapsedMs = 0;
391
+ #completed = false;
392
+ #killed = false;
393
+ #emittedCues = new Set();
394
+ constructor(timeline, clip, options, finalize) {
395
+ this.timeline = timeline;
396
+ this.clip = clip;
397
+ this.options = options;
398
+ this.finalize = finalize;
399
+ timeline.eventCallback('onUpdate', () => this.observeAutomaticTime());
400
+ timeline.eventCallback('onComplete', () => this.finish());
401
+ }
402
+ get elapsedMs() { return this.#elapsedMs; }
403
+ get completed() { return this.#completed; }
404
+ pause() { return this.timeline.pause(); }
405
+ play() { if (!this.#killed && !this.#completed)
406
+ return this.timeline.play(); }
407
+ progress(value) { return value === undefined ? this.timeline.progress() : this.timeline.progress(value); }
408
+ yoyo() { return this.timeline.yoyo(); }
409
+ setSpeed(speed) { this.timeline.timeScale(speed); }
410
+ kill() {
411
+ if (this.#killed)
412
+ return;
413
+ this.#killed = true;
414
+ this.timeline.kill();
415
+ this.finalize();
416
+ }
417
+ sample(timeMs, emitCues = false) {
418
+ if (!Number.isFinite(timeMs) || timeMs < 0)
419
+ throw new Error('Rig sample time must be a finite non-negative number');
420
+ if (this.#killed)
421
+ return;
422
+ const next = Math.min(timeMs, this.totalDurationMs());
423
+ if (emitCues && next >= this.#elapsedMs)
424
+ this.emitCrossedCues(this.#elapsedMs, next);
425
+ this.timeline.pause().totalTime(next / 1000, true);
426
+ this.#elapsedMs = next;
427
+ if (next >= this.totalDurationMs())
428
+ this.finish();
429
+ }
430
+ advance(deltaMs) {
431
+ if (!Number.isFinite(deltaMs) || deltaMs < 0)
432
+ throw new Error('Rig advance delta must be a finite non-negative number');
433
+ this.sample(this.#elapsedMs + deltaMs, true);
434
+ }
435
+ observeAutomaticTime() {
436
+ if (this.#killed || this.options.controlled)
437
+ return;
438
+ const next = this.timeline.totalTime() * 1000;
439
+ if (next >= this.#elapsedMs)
440
+ this.emitCrossedCues(this.#elapsedMs, next);
441
+ this.#elapsedMs = next;
442
+ }
443
+ emitCrossedCues(previousMs, nextMs) {
444
+ for (const cue of this.clip.cues ?? []) {
445
+ if (this.#emittedCues.has(cue.id))
446
+ continue;
447
+ if ((cue.timeMs > previousMs || (previousMs === 0 && cue.timeMs === 0)) && cue.timeMs <= nextMs) {
448
+ this.#emittedCues.add(cue.id);
449
+ this.options.onCue?.({ clipId: this.clip.id, cue, elapsedMs: cue.timeMs });
450
+ }
451
+ }
452
+ }
453
+ totalDurationMs() {
454
+ const duration = this.timeline.totalDuration() * 1000;
455
+ return Number.isFinite(duration) ? duration : this.clip.durationMs;
456
+ }
457
+ finish() {
458
+ if (this.#completed || this.#killed)
459
+ return;
460
+ this.#completed = true;
461
+ this.#elapsedMs = this.totalDurationMs();
462
+ this.options.onComplete?.();
463
+ this.finalize();
464
+ }
465
+ }
466
+ /** Owns one interruptible action and restores a stable rig pose when it ends. */
467
+ export class RigActionController {
468
+ rig;
469
+ options;
470
+ active;
471
+ disposed = false;
472
+ constructor(rig, options = {}) {
473
+ this.rig = rig;
474
+ this.options = options;
475
+ }
476
+ play(clipOrId, options = {}) {
477
+ if (this.disposed)
478
+ throw new Error('Rig action controller is disposed');
479
+ this.cancel();
480
+ if (options.fullBody ?? true)
481
+ this.rig.stop(this.options.locomotionLayer ?? 'base');
482
+ const callerComplete = options.onComplete;
483
+ const handle = this.rig.play(clipOrId, {
484
+ ...options,
485
+ layer: options.layer ?? this.options.actionLayer ?? 'action',
486
+ onComplete: () => {
487
+ if (this.active !== handle)
488
+ return;
489
+ this.active = undefined;
490
+ this.restore();
491
+ callerComplete?.();
492
+ },
493
+ });
494
+ this.active = handle;
495
+ return handle;
496
+ }
497
+ cancel() {
498
+ const active = this.active;
499
+ if (!active)
500
+ return;
501
+ this.active = undefined;
502
+ active.kill();
503
+ this.restore();
504
+ }
505
+ dispose() { if (this.disposed)
506
+ return; this.cancel(); this.disposed = true; }
507
+ restore() {
508
+ this.rig.resetPose();
509
+ this.options.resumeLocomotion?.();
510
+ }
511
+ }
353
512
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roost2d/rig2d",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "GSAP-powered, renderer-neutral 2D rig runtime.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -22,7 +22,7 @@
22
22
  }
23
23
  },
24
24
  "dependencies": {
25
- "@roost2d/contracts": "0.4.1"
25
+ "@roost2d/contracts": "0.5.0"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "gsap": "^3.0.0"