@doki-land/live2d-core 0.0.22 → 0.0.23

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/dist/index.d.ts CHANGED
@@ -371,6 +371,9 @@ interface Live2dActor {
371
371
  time: number;
372
372
  priority: number;
373
373
  }>;
374
+ listExpressions(): readonly ExpressionDefinition[];
375
+ /** Apply an expression by settings name; pass `null` to clear. */
376
+ setExpression(name: string | null): Promise<boolean>;
374
377
  lookAt(stageX: number, stageY: number): void;
375
378
  destroy(): void;
376
379
  }
@@ -388,6 +391,8 @@ interface Live2dStage {
388
391
  resize(width?: number, height?: number): void;
389
392
  update(deltaTimeSeconds: number): void;
390
393
  render(): void;
394
+ /** Subscribe to the stage-owned frame loop (before `update`). Returns unsubscribe. */
395
+ onFrame(listener: (deltaTimeSeconds: number) => void): () => void;
391
396
  start(): void;
392
397
  pause(): void;
393
398
  resume(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doki-land/live2d-core",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "description": "Shared TypeScript contracts for live2d.ts — ModelSource, Live2dStage/Actor, ModelAsset, events (no DOM/GPU).",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,5 +1,9 @@
1
1
  import type { AssetResolver, ModelSource } from "../contracts.js";
2
- import type { InternalModel, MotionDefinition } from "../model/model.js";
2
+ import type {
3
+ ExpressionDefinition,
4
+ InternalModel,
5
+ MotionDefinition,
6
+ } from "../model/model.js";
3
7
  import type { ModelAsset } from "../model/model-asset.js";
4
8
 
5
9
  /** Normalized stage placement for one actor (0,0) top-left → (1,1) bottom-right. */
@@ -150,6 +154,11 @@ export interface Live2dActor {
150
154
  priority: number;
151
155
  }>;
152
156
 
157
+ listExpressions(): readonly ExpressionDefinition[];
158
+
159
+ /** Apply an expression by settings name; pass `null` to clear. */
160
+ setExpression(name: string | null): Promise<boolean>;
161
+
153
162
  lookAt(stageX: number, stageY: number): void;
154
163
 
155
164
  destroy(): void;
@@ -179,6 +188,9 @@ export interface Live2dStage {
179
188
 
180
189
  render(): void;
181
190
 
191
+ /** Subscribe to the stage-owned frame loop (before `update`). Returns unsubscribe. */
192
+ onFrame(listener: (deltaTimeSeconds: number) => void): () => void;
193
+
182
194
  start(): void;
183
195
 
184
196
  pause(): void;