@lovelace_lol/loom3 1.0.34 → 1.0.36
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.cjs +584 -81
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +585 -82
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -317,6 +317,19 @@ type RotationsState = Record<string, CompositeRotationState>;
|
|
|
317
317
|
type AnimationSource = 'baked' | 'clip' | 'snippet';
|
|
318
318
|
/** Shared blend-mode surface for downstream animation UIs. */
|
|
319
319
|
type AnimationBlendMode = 'replace' | 'additive';
|
|
320
|
+
/** Runtime channel classes derived from one authored baked source clip. */
|
|
321
|
+
type BakedClipChannel = 'face' | 'body' | 'scene';
|
|
322
|
+
/** Metadata describing one derived baked runtime channel. */
|
|
323
|
+
interface BakedClipChannelInfo {
|
|
324
|
+
/** Logical channel key surfaced to downstream UIs. */
|
|
325
|
+
channel: BakedClipChannel;
|
|
326
|
+
/** Number of tracks routed into this channel. */
|
|
327
|
+
trackCount: number;
|
|
328
|
+
/** Whether Loom3 can play this channel directly. */
|
|
329
|
+
playable: boolean;
|
|
330
|
+
/** Effective/default blend mode for this channel when playable. */
|
|
331
|
+
blendMode?: AnimationBlendMode;
|
|
332
|
+
}
|
|
320
333
|
/** Shared easing labels for downstream animation UIs. */
|
|
321
334
|
type AnimationEasing = 'linear' | 'easeInOut' | 'easeInOutCubic' | 'easeIn' | 'easeOut';
|
|
322
335
|
/**
|
|
@@ -366,6 +379,8 @@ interface AnimationClipInfo {
|
|
|
366
379
|
trackCount: number;
|
|
367
380
|
/** Source of the clip for downstream UI grouping */
|
|
368
381
|
source?: AnimationSource;
|
|
382
|
+
/** Derived channel metadata for partitioned baked clips. */
|
|
383
|
+
channels?: BakedClipChannelInfo[];
|
|
369
384
|
}
|
|
370
385
|
/**
|
|
371
386
|
* State of a currently playing animation.
|
|
@@ -395,8 +410,12 @@ interface AnimationState {
|
|
|
395
410
|
weight: number;
|
|
396
411
|
/** Shared balance metadata for downstream UIs */
|
|
397
412
|
balance: number;
|
|
413
|
+
/** Requested source-level blend mode before per-channel routing. */
|
|
414
|
+
requestedBlendMode: AnimationBlendMode;
|
|
398
415
|
/** Shared blend metadata for downstream UIs */
|
|
399
416
|
blendMode: AnimationBlendMode;
|
|
417
|
+
/** Derived channel metadata for partitioned baked clips. */
|
|
418
|
+
channels?: BakedClipChannelInfo[];
|
|
400
419
|
/** Shared easing metadata for downstream UIs */
|
|
401
420
|
easing: AnimationEasing;
|
|
402
421
|
/** Whether the animation is looping */
|
|
@@ -1360,6 +1379,7 @@ declare class Loom3 implements LoomLarge {
|
|
|
1360
1379
|
private bones;
|
|
1361
1380
|
private mixWeights;
|
|
1362
1381
|
private visemeValues;
|
|
1382
|
+
private visemeJawScales;
|
|
1363
1383
|
private static readonly VISEME_JAW_AMOUNTS;
|
|
1364
1384
|
private bakedAnimations;
|
|
1365
1385
|
private hairPhysics;
|
|
@@ -1453,6 +1473,7 @@ declare class Loom3 implements LoomLarge {
|
|
|
1453
1473
|
clearTransitions(): void;
|
|
1454
1474
|
getActiveTransitionCount(): number;
|
|
1455
1475
|
resetToNeutral(): void;
|
|
1476
|
+
private reinitializeRuntimeStateFromCurrentControls;
|
|
1456
1477
|
getMeshList(): MeshInfo[];
|
|
1457
1478
|
/** Get all morph targets grouped by mesh name */
|
|
1458
1479
|
getMorphTargets(): Record<string, string[]>;
|
|
@@ -1556,6 +1577,10 @@ declare class Loom3 implements LoomLarge {
|
|
|
1556
1577
|
private getMorphValueByIndex;
|
|
1557
1578
|
private getMorphKeyCacheKey;
|
|
1558
1579
|
private getMorphIndexCacheKey;
|
|
1580
|
+
private syncVisemeRuntimeState;
|
|
1581
|
+
private getVisemeJawAmount;
|
|
1582
|
+
private collectResolvedExpressionMorphTargets;
|
|
1583
|
+
private resetMorphTargetHandles;
|
|
1559
1584
|
private isMixedAU;
|
|
1560
1585
|
private getEffectiveBoneAUValue;
|
|
1561
1586
|
private getCompositeAxisValueForNode;
|
package/dist/index.d.ts
CHANGED
|
@@ -317,6 +317,19 @@ type RotationsState = Record<string, CompositeRotationState>;
|
|
|
317
317
|
type AnimationSource = 'baked' | 'clip' | 'snippet';
|
|
318
318
|
/** Shared blend-mode surface for downstream animation UIs. */
|
|
319
319
|
type AnimationBlendMode = 'replace' | 'additive';
|
|
320
|
+
/** Runtime channel classes derived from one authored baked source clip. */
|
|
321
|
+
type BakedClipChannel = 'face' | 'body' | 'scene';
|
|
322
|
+
/** Metadata describing one derived baked runtime channel. */
|
|
323
|
+
interface BakedClipChannelInfo {
|
|
324
|
+
/** Logical channel key surfaced to downstream UIs. */
|
|
325
|
+
channel: BakedClipChannel;
|
|
326
|
+
/** Number of tracks routed into this channel. */
|
|
327
|
+
trackCount: number;
|
|
328
|
+
/** Whether Loom3 can play this channel directly. */
|
|
329
|
+
playable: boolean;
|
|
330
|
+
/** Effective/default blend mode for this channel when playable. */
|
|
331
|
+
blendMode?: AnimationBlendMode;
|
|
332
|
+
}
|
|
320
333
|
/** Shared easing labels for downstream animation UIs. */
|
|
321
334
|
type AnimationEasing = 'linear' | 'easeInOut' | 'easeInOutCubic' | 'easeIn' | 'easeOut';
|
|
322
335
|
/**
|
|
@@ -366,6 +379,8 @@ interface AnimationClipInfo {
|
|
|
366
379
|
trackCount: number;
|
|
367
380
|
/** Source of the clip for downstream UI grouping */
|
|
368
381
|
source?: AnimationSource;
|
|
382
|
+
/** Derived channel metadata for partitioned baked clips. */
|
|
383
|
+
channels?: BakedClipChannelInfo[];
|
|
369
384
|
}
|
|
370
385
|
/**
|
|
371
386
|
* State of a currently playing animation.
|
|
@@ -395,8 +410,12 @@ interface AnimationState {
|
|
|
395
410
|
weight: number;
|
|
396
411
|
/** Shared balance metadata for downstream UIs */
|
|
397
412
|
balance: number;
|
|
413
|
+
/** Requested source-level blend mode before per-channel routing. */
|
|
414
|
+
requestedBlendMode: AnimationBlendMode;
|
|
398
415
|
/** Shared blend metadata for downstream UIs */
|
|
399
416
|
blendMode: AnimationBlendMode;
|
|
417
|
+
/** Derived channel metadata for partitioned baked clips. */
|
|
418
|
+
channels?: BakedClipChannelInfo[];
|
|
400
419
|
/** Shared easing metadata for downstream UIs */
|
|
401
420
|
easing: AnimationEasing;
|
|
402
421
|
/** Whether the animation is looping */
|
|
@@ -1360,6 +1379,7 @@ declare class Loom3 implements LoomLarge {
|
|
|
1360
1379
|
private bones;
|
|
1361
1380
|
private mixWeights;
|
|
1362
1381
|
private visemeValues;
|
|
1382
|
+
private visemeJawScales;
|
|
1363
1383
|
private static readonly VISEME_JAW_AMOUNTS;
|
|
1364
1384
|
private bakedAnimations;
|
|
1365
1385
|
private hairPhysics;
|
|
@@ -1453,6 +1473,7 @@ declare class Loom3 implements LoomLarge {
|
|
|
1453
1473
|
clearTransitions(): void;
|
|
1454
1474
|
getActiveTransitionCount(): number;
|
|
1455
1475
|
resetToNeutral(): void;
|
|
1476
|
+
private reinitializeRuntimeStateFromCurrentControls;
|
|
1456
1477
|
getMeshList(): MeshInfo[];
|
|
1457
1478
|
/** Get all morph targets grouped by mesh name */
|
|
1458
1479
|
getMorphTargets(): Record<string, string[]>;
|
|
@@ -1556,6 +1577,10 @@ declare class Loom3 implements LoomLarge {
|
|
|
1556
1577
|
private getMorphValueByIndex;
|
|
1557
1578
|
private getMorphKeyCacheKey;
|
|
1558
1579
|
private getMorphIndexCacheKey;
|
|
1580
|
+
private syncVisemeRuntimeState;
|
|
1581
|
+
private getVisemeJawAmount;
|
|
1582
|
+
private collectResolvedExpressionMorphTargets;
|
|
1583
|
+
private resetMorphTargetHandles;
|
|
1559
1584
|
private isMixedAU;
|
|
1560
1585
|
private getEffectiveBoneAUValue;
|
|
1561
1586
|
private getCompositeAxisValueForNode;
|