@memori.ai/memori-react 7.5.0 → 7.6.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 (157) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +10 -2
  3. package/dist/components/Avatar/Avatar.d.ts +2 -0
  4. package/dist/components/Avatar/Avatar.js +11 -6
  5. package/dist/components/Avatar/Avatar.js.map +1 -1
  6. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +20 -0
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +107 -0
  8. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -0
  9. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.d.ts +26 -0
  10. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.js +59 -0
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.js.map +1 -0
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +30 -0
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +148 -0
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +1 -0
  15. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +15 -0
  16. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +77 -0
  17. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -0
  18. package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.d.ts +5 -0
  19. package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.js +12 -0
  20. package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -0
  21. package/dist/components/Avatar/AvatarView/components/fullbodyAvatar.d.ts +2 -1
  22. package/dist/components/Avatar/AvatarView/components/fullbodyAvatar.js +3 -2
  23. package/dist/components/Avatar/AvatarView/components/fullbodyAvatar.js.map +1 -1
  24. package/dist/components/Avatar/AvatarView/index.d.ts +6 -1
  25. package/dist/components/Avatar/AvatarView/index.js +15 -83
  26. package/dist/components/Avatar/AvatarView/index.js.map +1 -1
  27. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.d.ts +16 -2
  28. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js +62 -38
  29. package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -1
  30. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.d.ts +16 -0
  31. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js +59 -0
  32. package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -0
  33. package/dist/components/Avatar/AvatarView/utils/useSmile.js +1 -1
  34. package/dist/components/Avatar/AvatarView/utils/useSmile.js.map +1 -1
  35. package/dist/components/ChatBubble/ChatBubble.js +2 -3
  36. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  37. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +1 -1
  38. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +24 -3
  39. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  40. package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  41. package/dist/components/MemoriWidget/MemoriWidget.js +25 -3
  42. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  43. package/dist/components/StartPanel/StartPanel.js +1 -1
  44. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  45. package/dist/components/layouts/HiddenChat.d.ts +4 -0
  46. package/dist/components/layouts/HiddenChat.js +51 -0
  47. package/dist/components/layouts/HiddenChat.js.map +1 -0
  48. package/dist/components/layouts/ZoomedFullBody.d.ts +4 -0
  49. package/dist/components/layouts/ZoomedFullBody.js +8 -0
  50. package/dist/components/layouts/ZoomedFullBody.js.map +1 -0
  51. package/dist/components/layouts/hidden-chat.css +184 -0
  52. package/dist/context/visemeContext.d.ts +27 -0
  53. package/dist/context/visemeContext.js +221 -0
  54. package/dist/context/visemeContext.js.map +1 -0
  55. package/dist/helpers/utils.d.ts +7 -0
  56. package/dist/helpers/utils.js +51 -1
  57. package/dist/helpers/utils.js.map +1 -1
  58. package/dist/index.js +20 -16
  59. package/dist/index.js.map +1 -1
  60. package/dist/styles.css +1 -0
  61. package/esm/components/Avatar/Avatar.d.ts +2 -0
  62. package/esm/components/Avatar/Avatar.js +11 -6
  63. package/esm/components/Avatar/Avatar.js.map +1 -1
  64. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +20 -0
  65. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +102 -0
  66. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -0
  67. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.d.ts +26 -0
  68. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.js +56 -0
  69. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.js.map +1 -0
  70. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +30 -0
  71. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +145 -0
  72. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +1 -0
  73. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +15 -0
  74. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +73 -0
  75. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -0
  76. package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.d.ts +5 -0
  77. package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.js +9 -0
  78. package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -0
  79. package/esm/components/Avatar/AvatarView/components/fullbodyAvatar.d.ts +2 -1
  80. package/esm/components/Avatar/AvatarView/components/fullbodyAvatar.js +3 -2
  81. package/esm/components/Avatar/AvatarView/components/fullbodyAvatar.js.map +1 -1
  82. package/esm/components/Avatar/AvatarView/index.d.ts +6 -1
  83. package/esm/components/Avatar/AvatarView/index.js +16 -84
  84. package/esm/components/Avatar/AvatarView/index.js.map +1 -1
  85. package/esm/components/Avatar/AvatarView/utils/useEyeBlink.d.ts +16 -2
  86. package/esm/components/Avatar/AvatarView/utils/useEyeBlink.js +61 -38
  87. package/esm/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -1
  88. package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.d.ts +16 -0
  89. package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.js +55 -0
  90. package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -0
  91. package/esm/components/Avatar/AvatarView/utils/useSmile.js +1 -1
  92. package/esm/components/Avatar/AvatarView/utils/useSmile.js.map +1 -1
  93. package/esm/components/ChatBubble/ChatBubble.js +2 -3
  94. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  95. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +1 -1
  96. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +24 -3
  97. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  98. package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  99. package/esm/components/MemoriWidget/MemoriWidget.js +26 -4
  100. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  101. package/esm/components/StartPanel/StartPanel.js +1 -1
  102. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  103. package/esm/components/layouts/HiddenChat.d.ts +4 -0
  104. package/esm/components/layouts/HiddenChat.js +48 -0
  105. package/esm/components/layouts/HiddenChat.js.map +1 -0
  106. package/esm/components/layouts/ZoomedFullBody.d.ts +4 -0
  107. package/esm/components/layouts/ZoomedFullBody.js +5 -0
  108. package/esm/components/layouts/ZoomedFullBody.js.map +1 -0
  109. package/esm/components/layouts/hidden-chat.css +184 -0
  110. package/esm/context/visemeContext.d.ts +27 -0
  111. package/esm/context/visemeContext.js +216 -0
  112. package/esm/context/visemeContext.js.map +1 -0
  113. package/esm/helpers/utils.d.ts +7 -0
  114. package/esm/helpers/utils.js +45 -0
  115. package/esm/helpers/utils.js.map +1 -1
  116. package/esm/index.js +20 -16
  117. package/esm/index.js.map +1 -1
  118. package/esm/styles.css +1 -0
  119. package/package.json +2 -2
  120. package/src/components/Avatar/Avatar.test.tsx +28 -20
  121. package/src/components/Avatar/Avatar.tsx +19 -5
  122. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +222 -0
  123. package/src/components/Avatar/AvatarView/{components → AvatarComponent/components}/controls.tsx +16 -10
  124. package/src/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.tsx +234 -0
  125. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +123 -0
  126. package/src/components/Avatar/AvatarView/{components → AvatarComponent/components}/loader.tsx +1 -1
  127. package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +47 -8
  128. package/src/components/Avatar/AvatarView/index.tsx +47 -174
  129. package/src/components/Avatar/AvatarView/utils/useEyeBlink.ts +89 -48
  130. package/src/components/Avatar/AvatarView/utils/useMouthAnimation.ts +93 -0
  131. package/src/components/Avatar/AvatarView/utils/useSmile.ts +1 -1
  132. package/src/components/ChatBubble/ChatBubble.tsx +3 -4
  133. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +33 -3
  134. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +18 -0
  135. package/src/components/MemoriWidget/MemoriWidget.tsx +60 -5
  136. package/src/components/StartPanel/StartPanel.tsx +1 -1
  137. package/src/components/layouts/Chat.test.tsx +7 -5
  138. package/src/components/layouts/FullPage.test.tsx +11 -8
  139. package/src/components/layouts/HiddenChat.test.tsx +37 -0
  140. package/src/components/layouts/HiddenChat.tsx +108 -0
  141. package/src/components/layouts/Totem.test.tsx +6 -4
  142. package/src/components/layouts/WebsiteAssistant.test.tsx +7 -5
  143. package/src/components/layouts/ZoomedFullBody.test.tsx +37 -0
  144. package/src/components/layouts/ZoomedFullBody.tsx +55 -0
  145. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +210 -0
  146. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +444 -0
  147. package/src/components/layouts/hidden-chat.css +184 -0
  148. package/src/components/layouts/layouts.stories.tsx +135 -19
  149. package/src/context/visemeContext.tsx +328 -0
  150. package/src/helpers/utils.test.ts +18 -0
  151. package/src/helpers/utils.ts +73 -0
  152. package/src/index.stories.tsx +40 -17
  153. package/src/index.tsx +82 -78
  154. package/src/styles.css +1 -0
  155. package/src/components/Avatar/AvatarView/components/fullbodyAvatar.tsx +0 -120
  156. package/src/components/Avatar/AvatarView/components/halfbodyAvatar.tsx +0 -69
  157. package/src/components/Avatar/AvatarView/utils/useMouthSpeaking.ts +0 -87
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/esm/styles.css CHANGED
@@ -48,6 +48,7 @@
48
48
 
49
49
  @import url('https://fonts.bunny.net/css?family=lexend-deca:200,400,700');
50
50
 
51
+ @import url('./components/layouts/hidden-chat.css');
51
52
  @import url('./components/layouts/totem.css');
52
53
  @import url('./components/layouts/website-assistant.css');
53
54
  @import url('./components/layouts/chat.css');
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "7.5.0",
2
+ "version": "7.6.0",
3
3
  "name": "@memori.ai/memori-react",
4
4
  "author": "Memori Srl",
5
5
  "main": "dist/index.js",
@@ -292,7 +292,7 @@
292
292
  },
293
293
  "dependencies": {
294
294
  "@headlessui/react": "1.7.4",
295
- "@memori.ai/memori-api-client": "^5.1.1",
295
+ "@memori.ai/memori-api-client": "^5.2.0",
296
296
  "@react-three/drei": "8.20.2",
297
297
  "@react-three/fiber": "7.0.25",
298
298
  "classnames": "2.3.2",
@@ -2,29 +2,32 @@ import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
3
  import { memori, tenant, integration } from '../../mocks/data';
4
4
  import Avatar from './Avatar';
5
-
5
+ import { VisemeProvider } from '../../context/visemeContext';
6
6
  const integrationConfig = JSON.parse(integration.customData ?? '{}');
7
7
 
8
8
  it('renders defualt Avatar (blob) unchanged', () => {
9
9
  const { container } = render(
10
- <Avatar
11
- memori={memori}
10
+ <VisemeProvider>
11
+ <Avatar
12
+ memori={memori}
12
13
  tenant={tenant}
13
14
  instruct={false}
14
15
  avatar3dVisible={true}
15
16
  setAvatar3dVisible={() => {}}
16
17
  hasUserActivatedSpeak={false}
17
- isPlayingAudio={false}
18
- />
18
+ isPlayingAudio={false}
19
+ />
20
+ </VisemeProvider>
19
21
  );
20
22
  expect(container).toMatchSnapshot();
21
23
  });
22
24
 
23
25
  it('renders Avatar with blob and avatar in blob unchanged', () => {
24
26
  const { container } = render(
25
- <Avatar
26
- memori={memori}
27
- integrationConfig={{
27
+ <VisemeProvider>
28
+ <Avatar
29
+ memori={memori}
30
+ integrationConfig={{
28
31
  ...integrationConfig,
29
32
  avatar: 'userAvatar',
30
33
  avatarURL: memori.avatarURL,
@@ -35,17 +38,19 @@ it('renders Avatar with blob and avatar in blob unchanged', () => {
35
38
  setAvatar3dVisible={() => {}}
36
39
  hasUserActivatedSpeak={false}
37
40
  isPlayingAudio={false}
38
- />
41
+ />
42
+ </VisemeProvider>
39
43
  );
40
44
  expect(container).toMatchSnapshot();
41
45
  });
42
46
 
43
47
  it('renders Avatar with custom glb model unchanged', () => {
44
48
  const { container } = render(
45
- <Avatar
46
- memori={memori}
47
- integration={integration}
48
- integrationConfig={{
49
+ <VisemeProvider>
50
+ <Avatar
51
+ memori={memori}
52
+ integration={integration}
53
+ integrationConfig={{
49
54
  ...integrationConfig,
50
55
  avatar: 'customglb',
51
56
  avatarURL:
@@ -57,15 +62,17 @@ it('renders Avatar with custom glb model unchanged', () => {
57
62
  setAvatar3dVisible={() => {}}
58
63
  hasUserActivatedSpeak={false}
59
64
  isPlayingAudio={false}
60
- />
65
+ />
66
+ </VisemeProvider>
61
67
  );
62
68
  expect(container).toMatchSnapshot();
63
69
  });
64
70
 
65
71
  it('renders Avatar with rpm 3d avatar unchanged', () => {
66
- const { container } = render(
67
- <Avatar
68
- memori={memori}
72
+ const { container } = render(
73
+ <VisemeProvider>
74
+ <Avatar
75
+ memori={memori}
69
76
  integration={integration}
70
77
  integrationConfig={{
71
78
  ...integrationConfig,
@@ -77,9 +84,10 @@ it('renders Avatar with rpm 3d avatar unchanged', () => {
77
84
  instruct={false}
78
85
  avatar3dVisible={true}
79
86
  setAvatar3dVisible={() => {}}
80
- hasUserActivatedSpeak={false}
81
- isPlayingAudio={false}
82
- />
87
+ hasUserActivatedSpeak={false}
88
+ isPlayingAudio={false}
89
+ />
90
+ </VisemeProvider>
83
91
  );
84
92
  expect(container).toMatchSnapshot();
85
93
  });
@@ -16,6 +16,7 @@ import EyeInvisible from '../icons/EyeInvisible';
16
16
  import Edit from '../icons/Edit';
17
17
  import cx from 'classnames';
18
18
  import ContainerAvatarView from './AvatarView';
19
+ import { useViseme } from '../../context/visemeContext';
19
20
 
20
21
  export interface Props {
21
22
  memori: Memori;
@@ -31,6 +32,8 @@ export interface Props {
31
32
  baseUrl?: string;
32
33
  apiUrl?: string;
33
34
  animation?: string;
35
+ isZoomed?: boolean;
36
+ chatProps?: any;
34
37
  }
35
38
 
36
39
  const Avatar: React.FC<Props> = ({
@@ -47,10 +50,15 @@ const Avatar: React.FC<Props> = ({
47
50
  baseUrl,
48
51
  apiUrl,
49
52
  animation,
53
+ isZoomed = false,
54
+ chatProps,
50
55
  }) => {
56
+
51
57
  const { t } = useTranslation();
52
58
  const [isClient, setIsClient] = useState(false);
53
59
 
60
+ const { setMeshRef, clearVisemes, setEmotion } = useViseme();
61
+
54
62
  useEffect(() => {
55
63
  setIsClient(true);
56
64
  }, []);
@@ -73,12 +81,12 @@ const Avatar: React.FC<Props> = ({
73
81
  return undefined;
74
82
  };
75
83
 
76
- // Render the avatar, if the avatar is a user avatar, the avatar is rendered, if the avatar is a default avatar, the avatar is rendered
77
84
  const renderAvatar = () => {
78
85
  if (
79
86
  (integrationConfig?.avatar === 'readyplayerme' ||
80
87
  integrationConfig?.avatar === 'readyplayerme-full' ||
81
- integrationConfig?.avatar === 'customglb') &&
88
+ integrationConfig?.avatar === 'customglb' ||
89
+ integrationConfig?.avatar === 'customrpm') &&
82
90
  integrationConfig?.avatarURL
83
91
  ) {
84
92
  return (
@@ -110,7 +118,8 @@ const Avatar: React.FC<Props> = ({
110
118
 
111
119
  if (
112
120
  integrationConfig?.avatar === 'readyplayerme' ||
113
- integrationConfig?.avatar === 'readyplayerme-full'
121
+ integrationConfig?.avatar === 'readyplayerme-full' ||
122
+ integrationConfig?.avatar === 'customrpm'
114
123
  ) {
115
124
  return (
116
125
  <ErrorBoundary
@@ -133,6 +142,11 @@ const Avatar: React.FC<Props> = ({
133
142
  speaking={isPlayingAudio}
134
143
  loading={loading}
135
144
  style={getAvatarStyle()}
145
+ clearVisemes={clearVisemes}
146
+ setMeshRef={setMeshRef}
147
+ isZoomed={isZoomed}
148
+ chatEmission={chatProps?.dialogState?.emission}
149
+ setEmotion={setEmotion}
136
150
  />
137
151
  </ErrorBoundary>
138
152
  );
@@ -177,8 +191,8 @@ const Avatar: React.FC<Props> = ({
177
191
  };
178
192
  }
179
193
  return {
180
- width: '600px',
181
- height: '600px',
194
+ width: '100%',
195
+ height: '100%',
182
196
  backgroundColor: 'none',
183
197
  };
184
198
  };
@@ -0,0 +1,222 @@
1
+ import React, { useState, useEffect, useCallback } from 'react';
2
+ import AnimationControlPanel from './components/controls';
3
+ import FullbodyAvatar from './components/fullbodyAvatar';
4
+ import HalfBodyAvatar from './components/halfbodyAvatar';
5
+
6
+ interface Props {
7
+ showControls: boolean;
8
+ animation?: string;
9
+ loading: boolean;
10
+ url: string;
11
+ sex: 'MALE' | 'FEMALE';
12
+ eyeBlink: boolean;
13
+ headMovement: boolean;
14
+ speaking: boolean;
15
+ isZoomed: boolean;
16
+ chatEmission: any;
17
+ setMeshRef: any;
18
+ clearVisemes: () => void;
19
+ setEmotion: (emotion: string) => void;
20
+ }
21
+
22
+ interface BaseAction {
23
+ weight: number;
24
+ action?: string;
25
+ }
26
+
27
+ const baseActions: Record<string, BaseAction> = {
28
+ Gioia1: { weight: 0 },
29
+ Gioia2: { weight: 0 },
30
+ Gioia3: { weight: 0 },
31
+ Idle1: { weight: 1 },
32
+ Idle2: { weight: 0 },
33
+ Idle3: { weight: 0 },
34
+ Idle4: { weight: 0 },
35
+ Idle5: { weight: 0 },
36
+ Rabbia1: { weight: 0 },
37
+ Rabbia2: { weight: 0 },
38
+ Rabbia3: { weight: 0 },
39
+ Sorpresa1: { weight: 0 },
40
+ Sorpresa2: { weight: 0 },
41
+ Sorpresa3: { weight: 0 },
42
+ Timore1: { weight: 0 },
43
+ Timore2: { weight: 0 },
44
+ Timore3: { weight: 0 },
45
+ Tristezza1: { weight: 0 },
46
+ Tristezza2: { weight: 0 },
47
+ Tristezza3: { weight: 0 },
48
+ Loading1: { weight: 0 },
49
+ Loading2: { weight: 0 },
50
+ Loading3: { weight: 0 },
51
+ };
52
+
53
+ export const AvatarView: React.FC<Props & { halfBody: boolean }> = ({
54
+ setMeshRef,
55
+ clearVisemes,
56
+ chatEmission,
57
+ showControls,
58
+ animation,
59
+ url,
60
+ sex,
61
+ eyeBlink,
62
+ headMovement,
63
+ speaking,
64
+ halfBody,
65
+ loading,
66
+ isZoomed,
67
+ setEmotion,
68
+ }) => {
69
+ const [currentBaseAction, setCurrentBaseAction] = useState({
70
+ action: animation || 'Idle1',
71
+ weight: 1,
72
+ });
73
+
74
+ const [morphTargetInfluences, setMorphTargetInfluences] = useState<{
75
+ [key: string]: number;
76
+ }>({});
77
+ const [morphTargetDictionary, setMorphTargetDictionary] = useState<{
78
+ [key: string]: number;
79
+ }>({});
80
+
81
+ const [timeScale, setTimeScale] = useState(0.8);
82
+
83
+ // Set the morph target influences for the given emotions
84
+ const setEmotionMorphTargetInfluences = useCallback((action: string) => {
85
+ const emotionMap: Record<string, Record<string, number>> = {
86
+ Gioia: { Gioria: 1 },
87
+ Rabbia: { Rabbia: 1 },
88
+ Sorpresa: { Sorpresa: 1 },
89
+ Tristezza: { Tristezza: 1 },
90
+ Timore: { Timore: 1 },
91
+ Loading: { Loading1: 1, Loading2: 1, Loading3: 1 },
92
+ };
93
+
94
+ //remove the last character from the action
95
+ const newEmotion = action.slice(0, -1);
96
+ setEmotion(newEmotion);
97
+
98
+ const defaultEmotions = Object.keys(emotionMap).reduce((acc, key) => {
99
+ acc[key] = 0;
100
+ return acc;
101
+ }, {} as Record<string, number>);
102
+
103
+ const emotion =
104
+ Object.keys(emotionMap).find(key => action.startsWith(key)) || 'default';
105
+ const emotionValues =
106
+ emotion === 'default' ? defaultEmotions : emotionMap[emotion];
107
+
108
+ setMorphTargetInfluences(prevInfluences => ({
109
+ ...prevInfluences,
110
+ ...defaultEmotions,
111
+ ...emotionValues,
112
+ }));
113
+ }, []);
114
+
115
+ const onBaseActionChange = useCallback((action: string) => {
116
+ setEmotionMorphTargetInfluences(action);
117
+ setCurrentBaseAction({
118
+ action,
119
+ weight: 1,
120
+ });
121
+ }, []);
122
+
123
+ const onMorphTargetInfluencesChange = useCallback(
124
+ (influences: { [key: string]: number }) => {
125
+ setMorphTargetInfluences(prevInfluences => ({
126
+ ...prevInfluences,
127
+ ...influences,
128
+ }));
129
+ },
130
+ []
131
+ );
132
+
133
+ const onMorphTargetDictionaryChange = useCallback(
134
+ (dictionary: { [key: string]: number }) => {
135
+ setMorphTargetDictionary(dictionary);
136
+ },
137
+ []
138
+ );
139
+
140
+ const modifyTimeScale = useCallback((value: number) => {
141
+ setTimeScale(value);
142
+ }, []);
143
+
144
+ // Set the emotion based on the chatEmission
145
+ useEffect(() => {
146
+ //Check if chatEmission has a tag
147
+ const hasOutputTag = chatEmission?.includes(
148
+ '<output class="memori-emotion">'
149
+ );
150
+ const outputContent = hasOutputTag
151
+ ? chatEmission
152
+ ?.split('<output class="memori-emotion">')[1]
153
+ ?.split('</output>')[0]
154
+ ?.trim()
155
+ : null;
156
+
157
+ if (outputContent) {
158
+ //Based on the outputContent, set the emotion
159
+ //The outputContent could be: "Gioia", "Sorpresa", "Tristezza", "Rabbia", "Timore"
160
+ //Choose a random number between 1 and 3
161
+ const randomNumber = Math.floor(Math.random() * 3) + 1;
162
+ const emotion = `${outputContent}${randomNumber}`;
163
+
164
+ onBaseActionChange(emotion);
165
+ }
166
+ }, [chatEmission]);
167
+
168
+ useEffect(() => {
169
+ if (loading) {
170
+ //Choose a random number between 1 and 3
171
+ const randomNumber = Math.floor(Math.random() * 3) + 1;
172
+ const animation = `Loading${randomNumber}`;
173
+ onBaseActionChange(animation);
174
+ }
175
+ }, [loading]);
176
+
177
+ return (
178
+ <>
179
+ {showControls && (
180
+ <AnimationControlPanel
181
+ timeScale={timeScale}
182
+ morphTargetDictionary={morphTargetDictionary}
183
+ onBaseActionChange={onBaseActionChange}
184
+ onMorphTargetInfluencesChange={onMorphTargetInfluencesChange}
185
+ onMorphTargetDictionaryChange={onMorphTargetDictionaryChange}
186
+ baseActions={baseActions}
187
+ currentBaseAction={currentBaseAction}
188
+ modifyTimeScale={modifyTimeScale}
189
+ />
190
+ )}
191
+ {halfBody ? (
192
+ <HalfBodyAvatar
193
+ url={url}
194
+ setMeshRef={setMeshRef}
195
+ setMorphTargetInfluences={setMorphTargetInfluences}
196
+ headMovement={headMovement}
197
+ speaking={speaking}
198
+ eyeBlink={eyeBlink}
199
+ morphTargetInfluences={morphTargetInfluences}
200
+ clearVisemes={clearVisemes}
201
+ setMorphTargetDictionary={setMorphTargetDictionary}
202
+ />
203
+ ) : (
204
+ <FullbodyAvatar
205
+ url={url}
206
+ sex={sex}
207
+ eyeBlink={eyeBlink}
208
+ speaking={speaking}
209
+ currentBaseAction={currentBaseAction}
210
+ timeScale={timeScale}
211
+ setMorphTargetInfluences={setMorphTargetInfluences}
212
+ setMorphTargetDictionary={setMorphTargetDictionary}
213
+ morphTargetInfluences={morphTargetInfluences}
214
+ morphTargetDictionary={morphTargetDictionary}
215
+ isZoomed={isZoomed}
216
+ setMeshRef={setMeshRef}
217
+ clearVisemes={clearVisemes}
218
+ />
219
+ )}
220
+ </>
221
+ );
222
+ };
@@ -13,23 +13,25 @@ interface AdditiveAction {
13
13
 
14
14
  export interface AnimationControlPanelProps {
15
15
  baseActions: Record<string, BaseAction>;
16
- additiveActions: Record<string, AdditiveAction>;
17
16
  onBaseActionChange: (action: string) => void;
18
- onAdditiveActionChange?: (action: string, weight: number) => void;
19
17
  currentBaseAction: {
20
18
  action: string;
21
19
  weight: number;
22
20
  };
21
+ onMorphTargetInfluencesChange: (influences: { [key: string]: number }) => void;
22
+ onMorphTargetDictionaryChange: (dictionary: { [key: string]: number }) => void;
23
+ morphTargetDictionary: { [key: string]: number };
23
24
  modifyTimeScale: (value: number) => void;
24
25
  timeScale: number;
25
26
  }
26
27
 
27
28
  const AnimationControlPanel: React.FC<AnimationControlPanelProps> = ({
28
29
  onBaseActionChange,
29
- onAdditiveActionChange,
30
30
  baseActions,
31
- additiveActions,
32
31
  modifyTimeScale,
32
+ onMorphTargetInfluencesChange,
33
+ onMorphTargetDictionaryChange,
34
+ morphTargetDictionary,
33
35
  timeScale,
34
36
  }) => {
35
37
  const guiRef = useRef<GUI | null>(null);
@@ -59,14 +61,13 @@ const AnimationControlPanel: React.FC<AnimationControlPanelProps> = ({
59
61
  crossFadeControlsRef.current.push(control);
60
62
  });
61
63
 
62
- Object.entries(additiveActions).forEach(([name, settings]) => {
63
- panelSettingsRef.current[name] = settings.weight;
64
+ Object.entries(morphTargetDictionary).forEach(([name, settings]) => {
65
+ panelSettingsRef.current[name] = settings/100;
64
66
  folder2
65
- .add(panelSettingsRef.current, name, 0.0, 1.0, 0.01)
67
+ .add(panelSettingsRef.current, name, -1.0, 1.0, 0.01)
66
68
  .listen()
67
69
  .onChange((weight: number) => {
68
- settings.weight = weight;
69
- onAdditiveActionChange?.(name, weight);
70
+ onMorphTargetInfluencesChange({ [name]: weight });
70
71
  });
71
72
  });
72
73
 
@@ -85,7 +86,12 @@ const AnimationControlPanel: React.FC<AnimationControlPanelProps> = ({
85
86
  };
86
87
  }, [
87
88
  onBaseActionChange,
88
- onAdditiveActionChange /*onTimeScaleChange, setWeight, prepareCrossFade, modifyTimeScale */,
89
+ onMorphTargetInfluencesChange,
90
+ onMorphTargetDictionaryChange,
91
+ modifyTimeScale,
92
+ baseActions,
93
+ morphTargetDictionary,
94
+ timeScale
89
95
  ]);
90
96
 
91
97
  return null; // This component doesn't render anything itself