@convai/web-sdk 0.3.2-beta.0 → 0.3.2-beta.1

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 (58) hide show
  1. package/dist/core/BlendshapeQueue.d.ts +26 -42
  2. package/dist/core/BlendshapeQueue.d.ts.map +1 -1
  3. package/dist/core/BlendshapeQueue.js +44 -101
  4. package/dist/core/BlendshapeQueue.js.map +1 -1
  5. package/dist/core/ConvaiClient.d.ts +0 -14
  6. package/dist/core/ConvaiClient.d.ts.map +1 -1
  7. package/dist/core/ConvaiClient.js +2 -23
  8. package/dist/core/ConvaiClient.js.map +1 -1
  9. package/dist/core/MessageHandler.d.ts.map +1 -1
  10. package/dist/core/MessageHandler.js +1 -2
  11. package/dist/core/MessageHandler.js.map +1 -1
  12. package/dist/core/index.d.ts +0 -1
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js.map +1 -1
  15. package/dist/core/types.d.ts +6 -11
  16. package/dist/core/types.d.ts.map +1 -1
  17. package/dist/lipsync-helpers/createBlendshapeQueue.d.ts +86 -0
  18. package/dist/lipsync-helpers/createBlendshapeQueue.d.ts.map +1 -0
  19. package/dist/lipsync-helpers/createBlendshapeQueue.js +126 -0
  20. package/dist/lipsync-helpers/createBlendshapeQueue.js.map +1 -0
  21. package/dist/lipsync-helpers/declarativeMapping.d.ts +93 -0
  22. package/dist/lipsync-helpers/declarativeMapping.d.ts.map +1 -0
  23. package/dist/lipsync-helpers/declarativeMapping.js +228 -0
  24. package/dist/lipsync-helpers/declarativeMapping.js.map +1 -0
  25. package/dist/lipsync-helpers/index.d.ts +9 -4
  26. package/dist/lipsync-helpers/index.d.ts.map +1 -1
  27. package/dist/lipsync-helpers/index.js +24 -12
  28. package/dist/lipsync-helpers/index.js.map +1 -1
  29. package/dist/lipsync-helpers/mappingTypes.d.ts +64 -0
  30. package/dist/lipsync-helpers/mappingTypes.d.ts.map +1 -0
  31. package/dist/lipsync-helpers/mappingTypes.js +28 -0
  32. package/dist/lipsync-helpers/mappingTypes.js.map +1 -0
  33. package/dist/lipsync-helpers/presetMappers.d.ts +24 -0
  34. package/dist/lipsync-helpers/presetMappers.d.ts.map +1 -0
  35. package/dist/lipsync-helpers/presetMappers.js +38 -0
  36. package/dist/lipsync-helpers/presetMappers.js.map +1 -0
  37. package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
  38. package/dist/react/hooks/useConvaiClient.js +0 -4
  39. package/dist/react/hooks/useConvaiClient.js.map +1 -1
  40. package/dist/vanilla/ConvaiWidget.d.ts +13 -6
  41. package/dist/vanilla/ConvaiWidget.d.ts.map +1 -1
  42. package/dist/vanilla/ConvaiWidget.js +107 -70
  43. package/dist/vanilla/ConvaiWidget.js.map +1 -1
  44. package/dist/vanilla/types.d.ts +22 -2
  45. package/dist/vanilla/types.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/lipsync-helpers/arkitBlendshapeHelpers.d.ts +0 -80
  48. package/dist/lipsync-helpers/arkitBlendshapeHelpers.d.ts.map +0 -1
  49. package/dist/lipsync-helpers/arkitBlendshapeHelpers.js +0 -201
  50. package/dist/lipsync-helpers/arkitBlendshapeHelpers.js.map +0 -1
  51. package/dist/lipsync-helpers/arkitPhonemeReference.d.ts +0 -155
  52. package/dist/lipsync-helpers/arkitPhonemeReference.d.ts.map +0 -1
  53. package/dist/lipsync-helpers/arkitPhonemeReference.js +0 -362
  54. package/dist/lipsync-helpers/arkitPhonemeReference.js.map +0 -1
  55. package/dist/lipsync-helpers/neurosyncBlendshapeMapper.d.ts +0 -30
  56. package/dist/lipsync-helpers/neurosyncBlendshapeMapper.d.ts.map +0 -1
  57. package/dist/lipsync-helpers/neurosyncBlendshapeMapper.js +0 -315
  58. package/dist/lipsync-helpers/neurosyncBlendshapeMapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Factory functions for creating BlendshapeQueue with preset mappings
3
+ *
4
+ * This provides a convenient API for creating queues with common configurations:
5
+ * - ARKit passthrough
6
+ * - MetaHuman passthrough
7
+ * - Custom mapper
8
+ */
9
+ import { BlendshapeQueue } from '../core/BlendshapeQueue';
10
+ import { BlendshapeMappingConfig, BlendshapeMapper } from './mappingTypes';
11
+ /**
12
+ * Create a BlendshapeQueue with the specified mapping configuration
13
+ *
14
+ * @param config - Blendshape mapping configuration
15
+ * @returns Configured BlendshapeQueue instance
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // ARKit passthrough (no mapping)
20
+ * const queue = createBlendshapeQueue({
21
+ * inputFormat: 'arkit',
22
+ * outputFormat: 'arkit'
23
+ * });
24
+ *
25
+ * // MetaHuman passthrough
26
+ * const queue = createBlendshapeQueue({
27
+ * inputFormat: 'mha',
28
+ * outputFormat: 'mha'
29
+ * });
30
+ *
31
+ * // Custom mapper
32
+ * const queue = createBlendshapeQueue({
33
+ * inputFormat: 'arkit',
34
+ * outputFormat: 'custom',
35
+ * mapper: (input) => {
36
+ * // Your custom mapping logic
37
+ * return new Float32Array(input);
38
+ * }
39
+ * });
40
+ * ```
41
+ */
42
+ export declare function createBlendshapeQueue(config: BlendshapeMappingConfig): BlendshapeQueue;
43
+ /**
44
+ * Create a BlendshapeQueue for ARKit format (61 elements)
45
+ * Server sends 61-element array, queue stores 61-element array
46
+ */
47
+ export declare function createARKitBlendshapeQueue(): BlendshapeQueue;
48
+ /**
49
+ * Create a BlendshapeQueue for MetaHuman format (251 elements)
50
+ * Server sends 251-element array, queue stores 251-element array
51
+ */
52
+ export declare function createMetaHumanBlendshapeQueue(): BlendshapeQueue;
53
+ /**
54
+ * Create a BlendshapeQueue with a custom mapper function
55
+ *
56
+ * @param mapper - Custom mapping function
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const queue = createCustomBlendshapeQueue((input) => {
61
+ * // Map ARKit to your custom rig
62
+ * const output = new Float32Array(30); // Your rig has 30 blendshapes
63
+ * output[0] = input[17]; // Map JawOpen
64
+ * output[1] = input[18]; // Map MouthClose
65
+ * // ... more mappings
66
+ * return output;
67
+ * });
68
+ * ```
69
+ */
70
+ export declare function createCustomBlendshapeQueue(mapper: BlendshapeMapper): BlendshapeQueue;
71
+ /**
72
+ * Create a BlendshapeQueue with no mapping (identity/passthrough)
73
+ * Frames are stored as-is without transformation
74
+ */
75
+ export declare function createPassthroughBlendshapeQueue(): BlendshapeQueue;
76
+ /**
77
+ * Infer mapping config from ConvaiConfig blendshape settings
78
+ * This is used internally by ConvaiClient to auto-configure the queue
79
+ *
80
+ * @param blendshapeConfig - Blendshape config from ConvaiConfig
81
+ * @returns Mapping configuration for createBlendshapeQueue
82
+ */
83
+ export declare function inferMappingFromConfig(blendshapeConfig?: {
84
+ format?: 'arkit' | 'mha';
85
+ }): BlendshapeMappingConfig;
86
+ //# sourceMappingURL=createBlendshapeQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBlendshapeQueue.d.ts","sourceRoot":"","sources":["../../src/lipsync-helpers/createBlendshapeQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAO3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,GAAG,eAAe,CAYtF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,eAAe,CAE5D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,eAAe,CAEhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe,CAErF;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,IAAI,eAAe,CAElE;AAwBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,GAC9C,uBAAuB,CAOzB"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Factory functions for creating BlendshapeQueue with preset mappings
3
+ *
4
+ * This provides a convenient API for creating queues with common configurations:
5
+ * - ARKit passthrough
6
+ * - MetaHuman passthrough
7
+ * - Custom mapper
8
+ */
9
+ import { BlendshapeQueue } from '../core/BlendshapeQueue';
10
+ import { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper } from './presetMappers';
11
+ /**
12
+ * Create a BlendshapeQueue with the specified mapping configuration
13
+ *
14
+ * @param config - Blendshape mapping configuration
15
+ * @returns Configured BlendshapeQueue instance
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // ARKit passthrough (no mapping)
20
+ * const queue = createBlendshapeQueue({
21
+ * inputFormat: 'arkit',
22
+ * outputFormat: 'arkit'
23
+ * });
24
+ *
25
+ * // MetaHuman passthrough
26
+ * const queue = createBlendshapeQueue({
27
+ * inputFormat: 'mha',
28
+ * outputFormat: 'mha'
29
+ * });
30
+ *
31
+ * // Custom mapper
32
+ * const queue = createBlendshapeQueue({
33
+ * inputFormat: 'arkit',
34
+ * outputFormat: 'custom',
35
+ * mapper: (input) => {
36
+ * // Your custom mapping logic
37
+ * return new Float32Array(input);
38
+ * }
39
+ * });
40
+ * ```
41
+ */
42
+ export function createBlendshapeQueue(config) {
43
+ let mapper;
44
+ // If custom mapper provided, use it
45
+ if (config.mapper) {
46
+ mapper = config.mapper;
47
+ }
48
+ else {
49
+ // Select preset mapper based on input/output format
50
+ mapper = selectPresetMapper(config.inputFormat, config.outputFormat);
51
+ }
52
+ return new BlendshapeQueue(mapper);
53
+ }
54
+ /**
55
+ * Create a BlendshapeQueue for ARKit format (61 elements)
56
+ * Server sends 61-element array, queue stores 61-element array
57
+ */
58
+ export function createARKitBlendshapeQueue() {
59
+ return new BlendshapeQueue(arkitPassthroughMapper);
60
+ }
61
+ /**
62
+ * Create a BlendshapeQueue for MetaHuman format (251 elements)
63
+ * Server sends 251-element array, queue stores 251-element array
64
+ */
65
+ export function createMetaHumanBlendshapeQueue() {
66
+ return new BlendshapeQueue(metahumanPassthroughMapper);
67
+ }
68
+ /**
69
+ * Create a BlendshapeQueue with a custom mapper function
70
+ *
71
+ * @param mapper - Custom mapping function
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const queue = createCustomBlendshapeQueue((input) => {
76
+ * // Map ARKit to your custom rig
77
+ * const output = new Float32Array(30); // Your rig has 30 blendshapes
78
+ * output[0] = input[17]; // Map JawOpen
79
+ * output[1] = input[18]; // Map MouthClose
80
+ * // ... more mappings
81
+ * return output;
82
+ * });
83
+ * ```
84
+ */
85
+ export function createCustomBlendshapeQueue(mapper) {
86
+ return new BlendshapeQueue(mapper);
87
+ }
88
+ /**
89
+ * Create a BlendshapeQueue with no mapping (identity/passthrough)
90
+ * Frames are stored as-is without transformation
91
+ */
92
+ export function createPassthroughBlendshapeQueue() {
93
+ return new BlendshapeQueue(identityMapper);
94
+ }
95
+ /**
96
+ * Select the appropriate preset mapper based on input/output formats
97
+ * @private
98
+ */
99
+ function selectPresetMapper(inputFormat, outputFormat) {
100
+ // Same input and output format = passthrough
101
+ if (inputFormat === outputFormat) {
102
+ if (inputFormat === 'arkit') {
103
+ return arkitPassthroughMapper;
104
+ }
105
+ if (inputFormat === 'mha') {
106
+ return metahumanPassthroughMapper;
107
+ }
108
+ }
109
+ // No mapper needed for unknown combinations
110
+ return undefined;
111
+ }
112
+ /**
113
+ * Infer mapping config from ConvaiConfig blendshape settings
114
+ * This is used internally by ConvaiClient to auto-configure the queue
115
+ *
116
+ * @param blendshapeConfig - Blendshape config from ConvaiConfig
117
+ * @returns Mapping configuration for createBlendshapeQueue
118
+ */
119
+ export function inferMappingFromConfig(blendshapeConfig) {
120
+ const format = blendshapeConfig?.format || 'mha';
121
+ return {
122
+ inputFormat: format,
123
+ outputFormat: format, // Passthrough by default
124
+ };
125
+ }
126
+ //# sourceMappingURL=createBlendshapeQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBlendshapeQueue.js","sourceRoot":"","sources":["../../src/lipsync-helpers/createBlendshapeQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA+B;IACnE,IAAI,MAAoC,CAAC;IAEzC,oCAAoC;IACpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAwB;IAClE,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC;IAC9C,OAAO,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,WAAmD,EACnD,YAAqD;IAErD,6CAA6C;IAC7C,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACjC,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAC;QAChC,CAAC;QACD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,0BAA0B,CAAC;QACpC,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,gBAA+C;IAE/C,MAAM,MAAM,GAAG,gBAAgB,EAAE,MAAM,IAAI,KAAK,CAAC;IAEjD,OAAO;QACL,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM,EAAE,yBAAyB;KAChD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Declarative Blendshape Mapping
3
+ *
4
+ * Create mappers using a simple name-based mapping configuration.
5
+ * This is much easier than writing custom mapper functions!
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const mapping = {
10
+ * "browDownLeft": ["Brow_Drop_L"],
11
+ * "browInnerUp": ["Brow_Raise_Inner_L", "Brow_Raise_Inner_R"],
12
+ * "jawOpen": ["Jaw_Open"],
13
+ * "mouthSmileLeft": ["Mouth_Smile"],
14
+ * "mouthSmileRight": ["Mouth_Smile"], // Both map to same target (averaged)
15
+ * };
16
+ * ```
17
+ */
18
+ import type { BlendshapeMapper } from './mappingTypes';
19
+ /**
20
+ * Declarative mapping configuration
21
+ * Maps source blendshape names to target blendshape names
22
+ *
23
+ * Format: { [sourceBlendshapeName]: [targetBlendshapeName1, targetBlendshapeName2, ...] }
24
+ *
25
+ * - If multiple source names map to same target, they will be averaged
26
+ * - If one source maps to multiple targets, the value will be copied to all
27
+ */
28
+ export type BlendshapeNameMapping = {
29
+ [sourceBlendshapeName: string]: string[];
30
+ };
31
+ /**
32
+ * Optimized output structure for fast morph target updates
33
+ * Designed for maximum performance when applying to 3D models
34
+ *
35
+ * Use this format for fastest application to character:
36
+ * ```typescript
37
+ * const output = queue.getFrameAtTime(time).frame;
38
+ * // Fast iteration - names and values are parallel arrays
39
+ * for (let i = 0; i < output.names.length; i++) {
40
+ * character.setMorphTarget(output.names[i], output.values[i]);
41
+ * }
42
+ * ```
43
+ */
44
+ export interface OptimizedBlendshapeOutput {
45
+ /** Array of blendshape names in order */
46
+ names: readonly string[];
47
+ /** Array of blendshape values (parallel to names) */
48
+ values: Float32Array;
49
+ /** Map from name to index for quick lookups */
50
+ nameToIndex: ReadonlyMap<string, number>;
51
+ /** Total number of blendshapes */
52
+ length: number;
53
+ }
54
+ /**
55
+ * Create a mapper from ARKit format using declarative name mapping
56
+ *
57
+ * @param mapping - Declarative mapping object
58
+ * @param outputFormat - 'object' (default) or 'optimized'
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * const mapper = createARKitNameMapper({
63
+ * "browDownLeft": ["Brow_Drop_L"],
64
+ * "browDownRight": ["Brow_Drop_R"],
65
+ * "browInnerUp": ["Brow_Raise_Inner_L", "Brow_Raise_Inner_R"],
66
+ * "jawOpen": ["Jaw_Open"],
67
+ * "mouthSmileLeft": ["Mouth_Smile"],
68
+ * "mouthSmileRight": ["Mouth_Smile"], // Will be averaged with left
69
+ * });
70
+ * ```
71
+ */
72
+ export declare function createARKitNameMapper(mapping: BlendshapeNameMapping, outputFormat?: 'object' | 'optimized'): BlendshapeMapper;
73
+ /**
74
+ * Create a mapper from MetaHuman format using declarative name mapping
75
+ *
76
+ * @param mapping - Declarative mapping object (uses MetaHuman blendshape names)
77
+ * @param outputFormat - 'object' (default) or 'optimized'
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const mapper = createMetaHumanNameMapper({
82
+ * "CTRL_expressions_browDownL": ["Brow_Drop_L"],
83
+ * "CTRL_expressions_browDownR": ["Brow_Drop_R"],
84
+ * "CTRL_expressions_jawOpen": ["Jaw_Open"],
85
+ * });
86
+ * ```
87
+ */
88
+ export declare function createMetaHumanNameMapper(mapping: BlendshapeNameMapping, outputFormat?: 'object' | 'optimized'): BlendshapeMapper;
89
+ /**
90
+ * Helper to extract blendshape object from mapper output
91
+ */
92
+ export declare function getBlendshapeObject(output: any): Record<string, number>;
93
+ //# sourceMappingURL=declarativeMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declarativeMapping.d.ts","sourceRoot":"","sources":["../../src/lipsync-helpers/declarativeMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,MAAM,EAAE,YAAY,CAAC;IACrB,+CAA+C;IAC/C,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,qBAAqB,EAC9B,YAAY,GAAE,QAAQ,GAAG,WAAsB,GAC9C,gBAAgB,CAgGlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,YAAY,GAAE,QAAQ,GAAG,WAAsB,GAC9C,gBAAgB,CAoFlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAavE"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Declarative Blendshape Mapping
3
+ *
4
+ * Create mappers using a simple name-based mapping configuration.
5
+ * This is much easier than writing custom mapper functions!
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const mapping = {
10
+ * "browDownLeft": ["Brow_Drop_L"],
11
+ * "browInnerUp": ["Brow_Raise_Inner_L", "Brow_Raise_Inner_R"],
12
+ * "jawOpen": ["Jaw_Open"],
13
+ * "mouthSmileLeft": ["Mouth_Smile"],
14
+ * "mouthSmileRight": ["Mouth_Smile"], // Both map to same target (averaged)
15
+ * };
16
+ * ```
17
+ */
18
+ import { ARKIT_ORDER_61 } from './arkitOrder61';
19
+ import { METAHUMAN_ORDER_251 } from './metahumanOrder251';
20
+ /**
21
+ * Create a mapper from ARKit format using declarative name mapping
22
+ *
23
+ * @param mapping - Declarative mapping object
24
+ * @param outputFormat - 'object' (default) or 'optimized'
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const mapper = createARKitNameMapper({
29
+ * "browDownLeft": ["Brow_Drop_L"],
30
+ * "browDownRight": ["Brow_Drop_R"],
31
+ * "browInnerUp": ["Brow_Raise_Inner_L", "Brow_Raise_Inner_R"],
32
+ * "jawOpen": ["Jaw_Open"],
33
+ * "mouthSmileLeft": ["Mouth_Smile"],
34
+ * "mouthSmileRight": ["Mouth_Smile"], // Will be averaged with left
35
+ * });
36
+ * ```
37
+ */
38
+ export function createARKitNameMapper(mapping, outputFormat = 'object') {
39
+ // Build reverse mapping: source index -> target names
40
+ const sourceIndexToTargets = new Map();
41
+ for (const [sourceName, targetNames] of Object.entries(mapping)) {
42
+ // Convert source name to camelCase if needed
43
+ const sourceNameVariations = [
44
+ sourceName,
45
+ sourceName.charAt(0).toUpperCase() + sourceName.slice(1),
46
+ sourceName.charAt(0).toLowerCase() + sourceName.slice(1),
47
+ ];
48
+ let sourceIndex = -1;
49
+ for (const variation of sourceNameVariations) {
50
+ sourceIndex = ARKIT_ORDER_61.indexOf(variation);
51
+ if (sourceIndex !== -1)
52
+ break;
53
+ }
54
+ if (sourceIndex === -1) {
55
+ console.warn(`[ARKit Name Mapper] Source blendshape "${sourceName}" not found in ARKit format`);
56
+ continue;
57
+ }
58
+ sourceIndexToTargets.set(sourceIndex, targetNames);
59
+ }
60
+ // Build list of unique target names
61
+ const uniqueTargets = new Set();
62
+ for (const targets of sourceIndexToTargets.values()) {
63
+ targets.forEach(t => uniqueTargets.add(t));
64
+ }
65
+ const targetNames = Array.from(uniqueTargets);
66
+ // Build accumulation structure: target name -> [source indices]
67
+ const targetToSources = new Map();
68
+ for (const targetName of targetNames) {
69
+ targetToSources.set(targetName, []);
70
+ }
71
+ for (const [sourceIndex, targets] of sourceIndexToTargets.entries()) {
72
+ for (const targetName of targets) {
73
+ targetToSources.get(targetName)?.push(sourceIndex);
74
+ }
75
+ }
76
+ // Pre-allocate output structures
77
+ const outputValues = new Float32Array(targetNames.length);
78
+ const nameToIndex = new Map();
79
+ targetNames.forEach((name, index) => nameToIndex.set(name, index));
80
+ if (outputFormat === 'optimized') {
81
+ // Optimized format: return structured object for fast iteration
82
+ const optimizedOutput = {
83
+ names: targetNames,
84
+ values: outputValues,
85
+ nameToIndex,
86
+ length: targetNames.length,
87
+ };
88
+ return (input) => {
89
+ outputValues.fill(0);
90
+ // Accumulate values for each target
91
+ for (let i = 0; i < targetNames.length; i++) {
92
+ const sourceIndices = targetToSources.get(targetNames[i]);
93
+ let sum = 0;
94
+ for (const srcIndex of sourceIndices) {
95
+ sum += input[srcIndex] || 0;
96
+ }
97
+ outputValues[i] = sum / sourceIndices.length; // Average if multiple sources
98
+ }
99
+ // Return same object reference (values are updated in place)
100
+ return optimizedOutput;
101
+ };
102
+ }
103
+ else {
104
+ // Object format: return key-value object
105
+ return (input) => {
106
+ const output = {};
107
+ for (const targetName of targetNames) {
108
+ const sourceIndices = targetToSources.get(targetName);
109
+ let sum = 0;
110
+ for (const srcIndex of sourceIndices) {
111
+ sum += input[srcIndex] || 0;
112
+ }
113
+ output[targetName] = sum / sourceIndices.length;
114
+ }
115
+ // Convert to Float32Array representation (for compatibility)
116
+ // Store as object in the array's properties (hack but works)
117
+ const result = new Float32Array(0);
118
+ result.__blendshapeObject = output;
119
+ return result;
120
+ };
121
+ }
122
+ }
123
+ /**
124
+ * Create a mapper from MetaHuman format using declarative name mapping
125
+ *
126
+ * @param mapping - Declarative mapping object (uses MetaHuman blendshape names)
127
+ * @param outputFormat - 'object' (default) or 'optimized'
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const mapper = createMetaHumanNameMapper({
132
+ * "CTRL_expressions_browDownL": ["Brow_Drop_L"],
133
+ * "CTRL_expressions_browDownR": ["Brow_Drop_R"],
134
+ * "CTRL_expressions_jawOpen": ["Jaw_Open"],
135
+ * });
136
+ * ```
137
+ */
138
+ export function createMetaHumanNameMapper(mapping, outputFormat = 'object') {
139
+ // Build reverse mapping: source index -> target names
140
+ const sourceIndexToTargets = new Map();
141
+ for (const [sourceName, targetNames] of Object.entries(mapping)) {
142
+ const sourceIndex = METAHUMAN_ORDER_251.indexOf(sourceName);
143
+ if (sourceIndex === -1) {
144
+ console.warn(`[MetaHuman Name Mapper] Source blendshape "${sourceName}" not found in MetaHuman format`);
145
+ continue;
146
+ }
147
+ sourceIndexToTargets.set(sourceIndex, targetNames);
148
+ }
149
+ // Build list of unique target names
150
+ const uniqueTargets = new Set();
151
+ for (const targets of sourceIndexToTargets.values()) {
152
+ targets.forEach(t => uniqueTargets.add(t));
153
+ }
154
+ const targetNames = Array.from(uniqueTargets);
155
+ // Build accumulation structure: target name -> [source indices]
156
+ const targetToSources = new Map();
157
+ for (const targetName of targetNames) {
158
+ targetToSources.set(targetName, []);
159
+ }
160
+ for (const [sourceIndex, targets] of sourceIndexToTargets.entries()) {
161
+ for (const targetName of targets) {
162
+ targetToSources.get(targetName)?.push(sourceIndex);
163
+ }
164
+ }
165
+ // Pre-allocate output structures
166
+ const outputValues = new Float32Array(targetNames.length);
167
+ const nameToIndex = new Map();
168
+ targetNames.forEach((name, index) => nameToIndex.set(name, index));
169
+ if (outputFormat === 'optimized') {
170
+ // Optimized format: return structured object for fast iteration
171
+ const optimizedOutput = {
172
+ names: targetNames,
173
+ values: outputValues,
174
+ nameToIndex,
175
+ length: targetNames.length,
176
+ };
177
+ return (input) => {
178
+ outputValues.fill(0);
179
+ // Accumulate values for each target
180
+ for (let i = 0; i < targetNames.length; i++) {
181
+ const sourceIndices = targetToSources.get(targetNames[i]);
182
+ let sum = 0;
183
+ for (const srcIndex of sourceIndices) {
184
+ sum += input[srcIndex] || 0;
185
+ }
186
+ outputValues[i] = sum / sourceIndices.length; // Average if multiple sources
187
+ }
188
+ // Return same object reference (values are updated in place)
189
+ return optimizedOutput;
190
+ };
191
+ }
192
+ else {
193
+ // Object format: return key-value object
194
+ return (input) => {
195
+ const output = {};
196
+ for (const targetName of targetNames) {
197
+ const sourceIndices = targetToSources.get(targetName);
198
+ let sum = 0;
199
+ for (const srcIndex of sourceIndices) {
200
+ sum += input[srcIndex] || 0;
201
+ }
202
+ output[targetName] = sum / sourceIndices.length;
203
+ }
204
+ // Convert to Float32Array representation (for compatibility)
205
+ const result = new Float32Array(0);
206
+ result.__blendshapeObject = output;
207
+ return result;
208
+ };
209
+ }
210
+ }
211
+ /**
212
+ * Helper to extract blendshape object from mapper output
213
+ */
214
+ export function getBlendshapeObject(output) {
215
+ if (output.__blendshapeObject) {
216
+ return output.__blendshapeObject;
217
+ }
218
+ if (output.names && output.values) {
219
+ // Convert optimized format to object
220
+ const obj = {};
221
+ for (let i = 0; i < output.names.length; i++) {
222
+ obj[output.names[i]] = output.values[i];
223
+ }
224
+ return obj;
225
+ }
226
+ return {};
227
+ }
228
+ //# sourceMappingURL=declarativeMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declarativeMapping.js","sourceRoot":"","sources":["../../src/lipsync-helpers/declarativeMapping.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,15 @@
1
1
  /**
2
2
  * Lipsync Helpers
3
- * Utilities for processing and mapping lipsync/blendshape data
3
+ *
4
+ * Essential blendshape order arrays for ARKit and MetaHuman formats.
5
+ * These define the order in which blendshape values are received from Convai's server.
4
6
  */
5
7
  export { ARKIT_ORDER_61, STANDARD_ARKIT_ORDER, convertOrder61ToStandard, mapOrder61ToNames, getBlendshapeValueFromOrder61, getHeadRotation, getEyeRotations, getLipSyncValuesFromOrder61, getActiveBlendshapesFromOrder61, formatOrder61ForLogging, } from "./arkitOrder61";
6
- export { ARKIT_BLENDSHAPE_NAMES, ARKIT_EXTENDED_NAMES, mapARKitBlendshapesToNames, getActiveARKitBlendshapes, getARKitBlendshapeValue, formatARKitBlendshapesForLogging, KEY_LIPSYNC_BLENDSHAPES, getLipSyncBlendshapes, } from "./arkitBlendshapeHelpers";
7
- export { ARKIT_PHONEME_REFERENCE_VALUES, ARKIT_BLENDSHAPE_INDICES, SAMPLE_PHONEME_TESTS, BLENDSHAPE_QUICK_GUIDE, generatePhonemeBlendshapes, getPhonemeDescription, type PhonemeBlendshapes, } from "./arkitPhonemeReference";
8
8
  export { METAHUMAN_ORDER_251, METAHUMAN_CATEGORIES, KEY_METAHUMAN_LIPSYNC, getMetaHumanBlendshapeName, getMetaHumanBlendshapeIndex, getMetaHumanBlendshapesByCategory, formatMetaHumanBlendshapesForLogging, } from "./metahumanOrder251";
9
- export { NEUROSYNC_BLENDSHAPE_NAMES, mapBlendshapesToNames, formatBlendshapesForLogging, getTopBlendshapes, } from "./neurosyncBlendshapeMapper";
9
+ export type { BlendshapeMapper, BlendshapeFormat, BlendshapeMappingConfig, } from "./mappingTypes";
10
+ export { PRESET_MAPPINGS, } from "./mappingTypes";
11
+ export { arkitPassthroughMapper, metahumanPassthroughMapper, identityMapper, } from "./presetMappers";
12
+ export { createBlendshapeQueue, createARKitBlendshapeQueue, createMetaHumanBlendshapeQueue, createCustomBlendshapeQueue, createPassthroughBlendshapeQueue, inferMappingFromConfig, } from "./createBlendshapeQueue";
13
+ export type { BlendshapeNameMapping, OptimizedBlendshapeOutput, } from "./declarativeMapping";
14
+ export { createARKitNameMapper, createMetaHumanNameMapper, getBlendshapeObject, } from "./declarativeMapping";
10
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lipsync-helpers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,gCAAgC,EAChC,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lipsync-helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAEL,cAAc,EAGd,oBAAoB,EAGpB,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAEL,mBAAmB,EAGnB,oBAAoB,EAGpB,qBAAqB,EAGrB,0BAA0B,EAC1B,2BAA2B,EAC3B,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,qBAAqB,CAAC;AAM7B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAMjC,YAAY,EACV,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}