@memori.ai/memori-react 7.7.1 → 7.8.0-rc.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 (172) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/components/Avatar/Avatar.js +2 -2
  3. package/dist/components/Avatar/Avatar.js.map +1 -1
  4. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +6 -3
  5. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +10 -6
  6. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +13 -17
  8. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +110 -111
  9. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +1 -1
  10. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +3 -4
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +77 -52
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
  13. package/dist/components/Avatar/AvatarView/index.d.ts +7 -3
  14. package/dist/components/Avatar/AvatarView/index.js +2 -2
  15. package/dist/components/Avatar/AvatarView/index.js.map +1 -1
  16. package/dist/components/MemoriWidget/MemoriWidget.js +34 -22
  17. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  18. package/dist/components/layouts/ZoomedFullBody.js +1 -8
  19. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  20. package/dist/components/layouts/zoomed-full-body.css +5 -1
  21. package/dist/context/visemeContext.d.ts +9 -15
  22. package/dist/context/visemeContext.js +73 -190
  23. package/dist/context/visemeContext.js.map +1 -1
  24. package/esm/components/Avatar/Avatar.js +2 -2
  25. package/esm/components/Avatar/Avatar.js.map +1 -1
  26. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +6 -3
  27. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +10 -6
  28. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  29. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +13 -17
  30. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +112 -113
  31. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +1 -1
  32. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +3 -4
  33. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +81 -55
  34. package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
  35. package/esm/components/Avatar/AvatarView/index.d.ts +7 -3
  36. package/esm/components/Avatar/AvatarView/index.js +2 -2
  37. package/esm/components/Avatar/AvatarView/index.js.map +1 -1
  38. package/esm/components/MemoriWidget/MemoriWidget.js +34 -22
  39. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  40. package/esm/components/layouts/ZoomedFullBody.js +1 -8
  41. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  42. package/esm/components/layouts/zoomed-full-body.css +5 -1
  43. package/esm/context/visemeContext.d.ts +9 -15
  44. package/esm/context/visemeContext.js +74 -191
  45. package/esm/context/visemeContext.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/components/Avatar/Avatar.tsx +5 -5
  48. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +33 -19
  49. package/src/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.tsx +181 -158
  50. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +116 -71
  51. package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +12 -24
  52. package/src/components/Avatar/AvatarView/index.tsx +9 -8
  53. package/src/components/MemoriWidget/MemoriWidget.tsx +45 -38
  54. package/src/components/layouts/ZoomedFullBody.tsx +6 -11
  55. package/src/components/layouts/zoomed-full-body.css +5 -1
  56. package/src/context/visemeContext.tsx +130 -283
  57. package/dist/components/AttachmentMediaModal/AttachmentMediaModal.d.ts +0 -14
  58. package/dist/components/AttachmentMediaModal/AttachmentMediaModal.js +0 -66
  59. package/dist/components/AttachmentMediaModal/AttachmentMediaModal.js.map +0 -1
  60. package/dist/components/Avatar/AvatarView/components/controls.d.ts +0 -23
  61. package/dist/components/Avatar/AvatarView/components/controls.js +0 -55
  62. package/dist/components/Avatar/AvatarView/components/controls.js.map +0 -1
  63. package/dist/components/Avatar/AvatarView/components/fullbodyAvatar.d.ts +0 -19
  64. package/dist/components/Avatar/AvatarView/components/fullbodyAvatar.js +0 -61
  65. package/dist/components/Avatar/AvatarView/components/fullbodyAvatar.js.map +0 -1
  66. package/dist/components/Avatar/AvatarView/components/halfbodyAvatar.d.ts +0 -9
  67. package/dist/components/Avatar/AvatarView/components/halfbodyAvatar.js +0 -39
  68. package/dist/components/Avatar/AvatarView/components/halfbodyAvatar.js.map +0 -1
  69. package/dist/components/Avatar/AvatarView/components/loader.d.ts +0 -5
  70. package/dist/components/Avatar/AvatarView/components/loader.js +0 -12
  71. package/dist/components/Avatar/AvatarView/components/loader.js.map +0 -1
  72. package/dist/components/Avatar/AvatarView/utils/useMouthSpeaking.d.ts +0 -2
  73. package/dist/components/Avatar/AvatarView/utils/useMouthSpeaking.js +0 -68
  74. package/dist/components/Avatar/AvatarView/utils/useMouthSpeaking.js.map +0 -1
  75. package/dist/components/AvatarView/components/avatar.d.ts +0 -9
  76. package/dist/components/AvatarView/components/avatar.js +0 -35
  77. package/dist/components/AvatarView/components/avatar.js.map +0 -1
  78. package/dist/components/AvatarView/components/fullbodyAvatar.d.ts +0 -10
  79. package/dist/components/AvatarView/components/fullbodyAvatar.js +0 -62
  80. package/dist/components/AvatarView/components/fullbodyAvatar.js.map +0 -1
  81. package/dist/components/AvatarView/components/loader.d.ts +0 -5
  82. package/dist/components/AvatarView/components/loader.js +0 -12
  83. package/dist/components/AvatarView/components/loader.js.map +0 -1
  84. package/dist/components/AvatarView/index.d.ts +0 -17
  85. package/dist/components/AvatarView/index.js +0 -35
  86. package/dist/components/AvatarView/index.js.map +0 -1
  87. package/dist/components/AvatarView/utils/useEyeBlink.d.ts +0 -2
  88. package/dist/components/AvatarView/utils/useEyeBlink.js +0 -40
  89. package/dist/components/AvatarView/utils/useEyeBlink.js.map +0 -1
  90. package/dist/components/AvatarView/utils/useHeadMovement.d.ts +0 -2
  91. package/dist/components/AvatarView/utils/useHeadMovement.js +0 -53
  92. package/dist/components/AvatarView/utils/useHeadMovement.js.map +0 -1
  93. package/dist/components/AvatarView/utils/useLoadingMorphAnim.d.ts +0 -2
  94. package/dist/components/AvatarView/utils/useLoadingMorphAnim.js +0 -34
  95. package/dist/components/AvatarView/utils/useLoadingMorphAnim.js.map +0 -1
  96. package/dist/components/AvatarView/utils/useMouthSpeaking.d.ts +0 -2
  97. package/dist/components/AvatarView/utils/useMouthSpeaking.js +0 -60
  98. package/dist/components/AvatarView/utils/useMouthSpeaking.js.map +0 -1
  99. package/dist/components/AvatarView/utils/useSmile.d.ts +0 -2
  100. package/dist/components/AvatarView/utils/useSmile.js +0 -30
  101. package/dist/components/AvatarView/utils/useSmile.js.map +0 -1
  102. package/dist/components/AvatarView/utils/utils.d.ts +0 -13
  103. package/dist/components/AvatarView/utils/utils.js +0 -42
  104. package/dist/components/AvatarView/utils/utils.js.map +0 -1
  105. package/dist/components/ImageUpload/ImageUpload.css +0 -168
  106. package/dist/components/ImageUpload/ImageUpload.d.ts +0 -28
  107. package/dist/components/ImageUpload/ImageUpload.js +0 -163
  108. package/dist/components/ImageUpload/ImageUpload.js.map +0 -1
  109. package/dist/components/layouts/Default.d.ts +0 -17
  110. package/dist/components/layouts/Default.js +0 -8
  111. package/dist/components/layouts/Default.js.map +0 -1
  112. package/dist/components/ui/Message.d.ts +0 -17
  113. package/dist/components/ui/Message.js +0 -13
  114. package/dist/components/ui/Message.js.map +0 -1
  115. package/esm/components/AttachmentMediaModal/AttachmentMediaModal.d.ts +0 -14
  116. package/esm/components/AttachmentMediaModal/AttachmentMediaModal.js +0 -63
  117. package/esm/components/AttachmentMediaModal/AttachmentMediaModal.js.map +0 -1
  118. package/esm/components/Avatar/AvatarView/components/controls.d.ts +0 -23
  119. package/esm/components/Avatar/AvatarView/components/controls.js +0 -52
  120. package/esm/components/Avatar/AvatarView/components/controls.js.map +0 -1
  121. package/esm/components/Avatar/AvatarView/components/fullbodyAvatar.d.ts +0 -19
  122. package/esm/components/Avatar/AvatarView/components/fullbodyAvatar.js +0 -57
  123. package/esm/components/Avatar/AvatarView/components/fullbodyAvatar.js.map +0 -1
  124. package/esm/components/Avatar/AvatarView/components/halfbodyAvatar.d.ts +0 -9
  125. package/esm/components/Avatar/AvatarView/components/halfbodyAvatar.js +0 -35
  126. package/esm/components/Avatar/AvatarView/components/halfbodyAvatar.js.map +0 -1
  127. package/esm/components/Avatar/AvatarView/components/loader.d.ts +0 -5
  128. package/esm/components/Avatar/AvatarView/components/loader.js +0 -9
  129. package/esm/components/Avatar/AvatarView/components/loader.js.map +0 -1
  130. package/esm/components/Avatar/AvatarView/utils/useMouthSpeaking.d.ts +0 -2
  131. package/esm/components/Avatar/AvatarView/utils/useMouthSpeaking.js +0 -65
  132. package/esm/components/Avatar/AvatarView/utils/useMouthSpeaking.js.map +0 -1
  133. package/esm/components/AvatarView/components/avatar.d.ts +0 -9
  134. package/esm/components/AvatarView/components/avatar.js +0 -31
  135. package/esm/components/AvatarView/components/avatar.js.map +0 -1
  136. package/esm/components/AvatarView/components/fullbodyAvatar.d.ts +0 -10
  137. package/esm/components/AvatarView/components/fullbodyAvatar.js +0 -58
  138. package/esm/components/AvatarView/components/fullbodyAvatar.js.map +0 -1
  139. package/esm/components/AvatarView/components/loader.d.ts +0 -5
  140. package/esm/components/AvatarView/components/loader.js +0 -9
  141. package/esm/components/AvatarView/components/loader.js.map +0 -1
  142. package/esm/components/AvatarView/index.d.ts +0 -17
  143. package/esm/components/AvatarView/index.js +0 -31
  144. package/esm/components/AvatarView/index.js.map +0 -1
  145. package/esm/components/AvatarView/utils/useEyeBlink.d.ts +0 -2
  146. package/esm/components/AvatarView/utils/useEyeBlink.js +0 -37
  147. package/esm/components/AvatarView/utils/useEyeBlink.js.map +0 -1
  148. package/esm/components/AvatarView/utils/useHeadMovement.d.ts +0 -2
  149. package/esm/components/AvatarView/utils/useHeadMovement.js +0 -50
  150. package/esm/components/AvatarView/utils/useHeadMovement.js.map +0 -1
  151. package/esm/components/AvatarView/utils/useLoadingMorphAnim.d.ts +0 -2
  152. package/esm/components/AvatarView/utils/useLoadingMorphAnim.js +0 -31
  153. package/esm/components/AvatarView/utils/useLoadingMorphAnim.js.map +0 -1
  154. package/esm/components/AvatarView/utils/useMouthSpeaking.d.ts +0 -2
  155. package/esm/components/AvatarView/utils/useMouthSpeaking.js +0 -57
  156. package/esm/components/AvatarView/utils/useMouthSpeaking.js.map +0 -1
  157. package/esm/components/AvatarView/utils/useSmile.d.ts +0 -2
  158. package/esm/components/AvatarView/utils/useSmile.js +0 -27
  159. package/esm/components/AvatarView/utils/useSmile.js.map +0 -1
  160. package/esm/components/AvatarView/utils/utils.d.ts +0 -13
  161. package/esm/components/AvatarView/utils/utils.js +0 -33
  162. package/esm/components/AvatarView/utils/utils.js.map +0 -1
  163. package/esm/components/ImageUpload/ImageUpload.css +0 -168
  164. package/esm/components/ImageUpload/ImageUpload.d.ts +0 -28
  165. package/esm/components/ImageUpload/ImageUpload.js +0 -160
  166. package/esm/components/ImageUpload/ImageUpload.js.map +0 -1
  167. package/esm/components/layouts/Default.d.ts +0 -17
  168. package/esm/components/layouts/Default.js +0 -5
  169. package/esm/components/layouts/Default.js.map +0 -1
  170. package/esm/components/ui/Message.d.ts +0 -17
  171. package/esm/components/ui/Message.js +0 -10
  172. package/esm/components/ui/Message.js.map +0 -1
@@ -1,77 +1,102 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  const jsx_runtime_1 = require("react/jsx-runtime");
5
4
  const react_1 = require("react");
6
5
  const three_1 = require("three");
7
6
  const drei_1 = require("@react-three/drei");
8
7
  const utils_1 = require("../../../../../helpers/utils");
9
8
  const fiber_1 = require("@react-three/fiber");
10
- const useEyeBlink_1 = require("../../utils/useEyeBlink");
11
- const useHeadMovement_1 = tslib_1.__importDefault(require("../../utils/useHeadMovement"));
12
- const utils_2 = require("../../utils/utils");
9
+ const three_2 = require("three");
13
10
  const AVATAR_POSITION = new three_1.Vector3(0, -0.6, 0);
14
- const lerp = (start, end, alpha) => {
15
- return start * (1 - alpha) + end * alpha;
11
+ const BLINK_CONFIG = {
12
+ minInterval: 1000,
13
+ maxInterval: 5000,
14
+ blinkDuration: 150,
16
15
  };
17
- function HalfBodyAvatar({ url, setMorphTargetInfluences, setMorphTargetDictionary, headMovement, eyeBlink, setMeshRef, onLoaded, clearVisemes, morphTargetInfluences, }) {
16
+ function HalfBodyAvatar({ url, setMorphTargetInfluences, setMorphTargetDictionary, eyeBlink, onLoaded, morphTargetSmoothing = 0.5, updateCurrentViseme, }) {
18
17
  const { scene } = (0, drei_1.useGLTF)(url);
19
18
  const { nodes, materials } = (0, fiber_1.useGraph)(scene);
19
+ const mixer = (0, react_1.useRef)(new three_2.AnimationMixer(scene));
20
20
  const avatarMeshRef = (0, react_1.useRef)(null);
21
- (0, useEyeBlink_1.useAvatarBlink)({
22
- enabled: eyeBlink || false,
23
- setMorphTargetInfluences,
24
- config: {
25
- minInterval: 1500,
26
- maxInterval: 4000,
27
- blinkDuration: 120
28
- }
29
- });
30
- (0, useHeadMovement_1.default)(headMovement, nodes);
21
+ const lastBlinkTime = (0, react_1.useRef)(0);
22
+ const nextBlinkTime = (0, react_1.useRef)(0);
23
+ const isBlinking = (0, react_1.useRef)(false);
24
+ const blinkStartTime = (0, react_1.useRef)(0);
25
+ const headMeshRef = (0, react_1.useRef)();
31
26
  (0, react_1.useEffect)(() => {
32
- const setupAvatar = () => {
33
- (0, utils_2.hideHands)(nodes);
34
- (0, utils_1.correctMaterials)(materials);
35
- const firstSkinnedMesh = Object.values(nodes).find(utils_1.isSkinnedMesh);
36
- if (firstSkinnedMesh) {
37
- setMeshRef(firstSkinnedMesh);
38
- avatarMeshRef.current = firstSkinnedMesh;
39
- if (firstSkinnedMesh.morphTargetDictionary && firstSkinnedMesh.morphTargetInfluences) {
40
- setMorphTargetDictionary(firstSkinnedMesh.morphTargetDictionary);
41
- const initialInfluences = Object.keys(firstSkinnedMesh.morphTargetDictionary).reduce((acc, key) => ({ ...acc, [key]: 0 }), {});
42
- setMorphTargetInfluences(initialInfluences);
27
+ (0, utils_1.correctMaterials)(materials);
28
+ scene.traverse((object) => {
29
+ if (object instanceof three_1.SkinnedMesh) {
30
+ if (object.name === 'GBNL__Head' || object.name === 'Wolf3D_Avatar') {
31
+ headMeshRef.current = object;
32
+ if (object.morphTargetDictionary && object.morphTargetInfluences) {
33
+ setMorphTargetDictionary(object.morphTargetDictionary);
34
+ const initialInfluences = Object.keys(object.morphTargetDictionary).reduce((acc, key) => ({ ...acc, [key]: 0 }), {});
35
+ setMorphTargetInfluences(initialInfluences);
36
+ }
43
37
  }
44
38
  }
45
- onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded();
46
- };
47
- setupAvatar();
39
+ });
40
+ onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded();
48
41
  return () => {
49
- const disposeObjects = () => {
50
- Object.values(materials).forEach(fiber_1.dispose);
51
- Object.values(nodes).filter(utils_1.isSkinnedMesh).forEach(fiber_1.dispose);
52
- clearVisemes();
53
- };
54
- disposeObjects();
42
+ Object.values(materials).forEach(material => material.dispose());
43
+ Object.values(nodes)
44
+ .filter(utils_1.isSkinnedMesh)
45
+ .forEach(mesh => mesh.geometry.dispose());
55
46
  };
56
- }, [materials, nodes, url, onLoaded, clearVisemes]);
57
- const skinnedMeshes = (0, react_1.useMemo)(() => Object.values(nodes).filter(utils_1.isSkinnedMesh), [nodes]);
58
- (0, fiber_1.useFrame)((_) => {
59
- if (avatarMeshRef.current && avatarMeshRef.current.morphTargetDictionary) {
60
- updateMorphTargetInfluences();
61
- }
62
- function updateMorphTargetInfluences() {
63
- Object.entries(morphTargetInfluences).forEach(([key, value]) => {
64
- const index = avatarMeshRef.current.morphTargetDictionary[key];
65
- if (typeof index === 'number' &&
66
- avatarMeshRef.current.morphTargetInfluences) {
67
- const currentValue = avatarMeshRef.current.morphTargetInfluences[index];
68
- const smoothValue = lerp(currentValue, value, 0.1);
69
- avatarMeshRef.current.morphTargetInfluences[index] = smoothValue;
47
+ }, [materials, nodes, url, onLoaded, scene]);
48
+ (0, fiber_1.useFrame)(state => {
49
+ if (headMeshRef.current &&
50
+ headMeshRef.current.morphTargetDictionary &&
51
+ headMeshRef.current.morphTargetInfluences) {
52
+ const currentTime = state.clock.getElapsedTime() * 1000;
53
+ let blinkValue = 0;
54
+ if (eyeBlink) {
55
+ if (currentTime >= nextBlinkTime.current && !isBlinking.current) {
56
+ isBlinking.current = true;
57
+ blinkStartTime.current = currentTime;
58
+ lastBlinkTime.current = currentTime;
59
+ nextBlinkTime.current =
60
+ currentTime +
61
+ Math.random() *
62
+ (BLINK_CONFIG.maxInterval - BLINK_CONFIG.minInterval) +
63
+ BLINK_CONFIG.minInterval;
64
+ }
65
+ if (isBlinking.current) {
66
+ const blinkProgress = (currentTime - blinkStartTime.current) / BLINK_CONFIG.blinkDuration;
67
+ if (blinkProgress <= 0.5) {
68
+ blinkValue = blinkProgress * 2;
69
+ }
70
+ else if (blinkProgress <= 1) {
71
+ blinkValue = 2 - blinkProgress * 2;
72
+ }
73
+ else {
74
+ isBlinking.current = false;
75
+ blinkValue = 0;
76
+ }
77
+ }
78
+ }
79
+ const currentViseme = updateCurrentViseme(currentTime / 1000);
80
+ Object.entries(headMeshRef.current.morphTargetDictionary).forEach(([key, index]) => {
81
+ if (typeof index === 'number') {
82
+ let targetValue = 0;
83
+ if (currentViseme && key === currentViseme.name) {
84
+ targetValue += currentViseme.weight * 1.3;
85
+ }
86
+ if (key === 'eyesClosed' && eyeBlink) {
87
+ targetValue += blinkValue;
88
+ }
89
+ targetValue = three_2.MathUtils.clamp(targetValue, 0, 1);
90
+ if (headMeshRef.current &&
91
+ headMeshRef.current.morphTargetInfluences) {
92
+ headMeshRef.current.morphTargetInfluences[index] = three_2.MathUtils.lerp(headMeshRef.current.morphTargetInfluences[index], targetValue, morphTargetSmoothing);
93
+ }
70
94
  }
71
95
  });
96
+ mixer.current.update(0.01);
72
97
  }
73
98
  });
74
- return ((0, jsx_runtime_1.jsxs)("group", { position: AVATAR_POSITION, children: [nodes.Hips && (0, jsx_runtime_1.jsx)("primitive", { object: nodes.Hips }, "armature"), skinnedMeshes.map((node) => node && ((0, jsx_runtime_1.jsx)("primitive", { object: node, receiveShadow: true, castShadow: true }, node.name)))] }));
99
+ return ((0, jsx_runtime_1.jsx)("group", { position: AVATAR_POSITION, children: (0, jsx_runtime_1.jsx)("primitive", { object: scene }) }));
75
100
  }
76
101
  exports.default = HalfBodyAvatar;
77
102
  //# sourceMappingURL=halfbodyAvatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"halfbodyAvatar.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"halfbodyAvatar.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,11 @@ export interface Props {
17
17
  isZoomed?: boolean;
18
18
  chatEmission?: any;
19
19
  setMeshRef?: any;
20
- clearVisemes: () => void;
21
- setEmotion: (emotion: string) => void;
20
+ stopProcessing: () => void;
21
+ resetVisemeQueue: () => void;
22
+ updateCurrentViseme: (currentTime: number) => {
23
+ name: string;
24
+ weight: number;
25
+ } | null;
22
26
  }
23
- export default function ContainerAvatarView({ url, sex, style, rotateAvatar, eyeBlink, headMovement, speaking, fallback, fallbackImg, halfBody, loading, animation, showControls, isZoomed, chatEmission, setMeshRef, clearVisemes, setEmotion, }: Props): JSX.Element;
27
+ export default function ContainerAvatarView({ url, sex, style, rotateAvatar, eyeBlink, headMovement, speaking, fallback, fallbackImg, halfBody, loading, animation, showControls, isZoomed, chatEmission, stopProcessing, resetVisemeQueue, updateCurrentViseme, }: Props): JSX.Element;
@@ -34,8 +34,8 @@ const getCameraSettings = (halfBody, isZoomed) => halfBody
34
34
  }
35
35
  : { fov: 40, position: [0, 0.0000175, 3] };
36
36
  const getLightingComponent = () => (0, utils_1.isAndroid)() || (0, utils_1.isiOS)() ? ((0, jsx_runtime_1.jsx)(drei_1.SpotLight, { distance: 100, position: [-0.3, 0.2, 1.25], angle: Math.PI / 2, attenuation: 5, anglePower: 5 })) : ((0, jsx_runtime_1.jsx)(drei_1.Environment, { files: "https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/venice_sunset_1k.hdr" }));
37
- function ContainerAvatarView({ url, sex, style, rotateAvatar, eyeBlink, headMovement, speaking, fallback, fallbackImg, halfBody = true, loading, animation, showControls = false, isZoomed, chatEmission, setMeshRef, clearVisemes, setEmotion, }) {
38
- return ((0, jsx_runtime_1.jsx)(fiber_1.Canvas, { style: style || (halfBody ? defaultStyles.halfBody : defaultStyles.fullBody), camera: getCameraSettings(halfBody, isZoomed), children: (0, jsx_runtime_1.jsxs)(react_1.Suspense, { fallback: fallback || (0, jsx_runtime_1.jsx)(loader_1.default, { fallbackImg: fallbackImg }), children: [getLightingComponent(), rotateAvatar && (0, jsx_runtime_1.jsx)(drei_1.OrbitControls, { enablePan: false, enableZoom: false }), (0, jsx_runtime_1.jsx)(avatarComponent_1.AvatarView, { url: url, sex: sex, showControls: showControls, loading: loading || false, animation: animation, isZoomed: isZoomed || false, eyeBlink: eyeBlink || false, headMovement: headMovement || false, speaking: speaking || false, halfBody: halfBody || false, chatEmission: chatEmission, setMeshRef: setMeshRef, clearVisemes: clearVisemes, setEmotion: setEmotion })] }) }));
37
+ function ContainerAvatarView({ url, sex, style, rotateAvatar, eyeBlink, headMovement, speaking, fallback, fallbackImg, halfBody = true, loading, animation, showControls = false, isZoomed, chatEmission, stopProcessing, resetVisemeQueue, updateCurrentViseme, }) {
38
+ return ((0, jsx_runtime_1.jsx)(fiber_1.Canvas, { style: style || (halfBody ? defaultStyles.halfBody : defaultStyles.fullBody), camera: getCameraSettings(halfBody, isZoomed), children: (0, jsx_runtime_1.jsxs)(react_1.Suspense, { fallback: fallback || (0, jsx_runtime_1.jsx)(loader_1.default, { fallbackImg: fallbackImg }), children: [getLightingComponent(), rotateAvatar && (0, jsx_runtime_1.jsx)(drei_1.OrbitControls, { enablePan: false, enableZoom: false }), (0, jsx_runtime_1.jsx)(avatarComponent_1.AvatarView, { url: url, sex: sex, showControls: showControls, loading: loading || false, animation: animation, isZoomed: isZoomed || false, eyeBlink: eyeBlink || false, headMovement: headMovement || false, speaking: speaking || false, halfBody: halfBody || false, chatEmission: chatEmission, updateCurrentViseme: updateCurrentViseme, stopProcessing: stopProcessing, resetVisemeQueue: resetVisemeQueue })] }) }));
39
39
  }
40
40
  exports.default = ContainerAvatarView;
41
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Avatar/AvatarView/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Avatar/AvatarView/index.tsx"],"names":[],"mappings":"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"}
@@ -219,7 +219,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
219
219
  const [isPlayingAudio, setIsPlayingAudio] = (0, react_1.useState)(false);
220
220
  const [controlsPosition, setControlsPosition] = (0, react_1.useState)('center');
221
221
  const [hideEmissions, setHideEmissions] = (0, react_1.useState)(false);
222
- const { addVisemeToQueue, processVisemeQueue, clearVisemes, emotion, getAzureStyleForEmotion, } = (0, visemeContext_1.useViseme)();
222
+ const { updateCurrentViseme, startProcessing, resetAndStartProcessing, isProcessing, addViseme, stopProcessing, resetVisemeQueue, } = (0, visemeContext_1.useViseme)();
223
223
  (0, react_1.useEffect)(() => {
224
224
  setIsPlayingAudio(!!speechSynthesizer);
225
225
  memoriSpeaking = !!speechSynthesizer;
@@ -1306,51 +1306,58 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1306
1306
  emitEndSpeakEvent();
1307
1307
  onEndSpeakStartListen();
1308
1308
  };
1309
- clearVisemes();
1309
+ resetVisemeQueue();
1310
1310
  speechSynthesizer.visemeReceived = function (_, e) {
1311
- addVisemeToQueue({
1312
- visemeId: e.visemeId,
1313
- audioOffset: e.audioOffset,
1314
- });
1311
+ addViseme(e.visemeId, e.audioOffset);
1315
1312
  };
1316
1313
  const textToSpeak = (0, utils_1.escapeHTML)((0, utils_1.stripMarkdown)((0, utils_1.stripEmojis)((0, utils_1.stripHTML)((0, utils_1.stripOutputTags)(text)))));
1317
- speechSynthesizer.speakSsmlAsync(`<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" xml:lang="${getCultureCodeByLanguage(userLang)}"><voice name="${getTTSVoice(userLang)}"><prosody rate="0.95"><mstts:express-as style="${getAzureStyleForEmotion(emotion)}"><s>${replaceTextWithPhonemes(textToSpeak, userLang.toLowerCase())}</s></mstts:express-as></prosody></voice></speak>`, result => {
1314
+ speechSynthesizer.speakSsmlAsync(`<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" xml:lang="${getCultureCodeByLanguage(userLang)}"><voice name="${getTTSVoice(userLang)}"><s>${replaceTextWithPhonemes(textToSpeak, userLang.toLowerCase())}</s></voice></speak>`, result => {
1318
1315
  if (result) {
1319
1316
  setIsPlayingAudio(true);
1320
1317
  memoriSpeaking = true;
1321
- processVisemeQueue();
1322
1318
  try {
1323
1319
  audioContext.decodeAudioData(result.audioData, function (buffer) {
1324
- source.buffer = buffer;
1325
- source.connect(audioContext.destination);
1326
- if (history.length < 1 || (isSafari && isIOS)) {
1327
- source.start(0);
1328
- }
1320
+ console.log('decoded');
1321
+ const currentSource = audioContext.createBufferSource();
1322
+ currentSource.buffer = buffer;
1323
+ currentSource.connect(audioContext.destination);
1324
+ startProcessing();
1325
+ currentSource.start();
1326
+ currentSource.onended = () => {
1327
+ console.log('ended');
1328
+ setIsPlayingAudio(false);
1329
+ memoriSpeaking = false;
1330
+ stopProcessing();
1331
+ resetVisemeQueue();
1332
+ emitEndSpeakEvent();
1333
+ };
1329
1334
  });
1330
1335
  audioContext.onstatechange = () => {
1331
1336
  if (audioContext.state === 'suspended' ||
1332
1337
  audioContext.state === 'closed') {
1338
+ console.log('suspended');
1333
1339
  source.disconnect();
1334
1340
  setIsPlayingAudio(false);
1335
- clearVisemes();
1341
+ stopProcessing();
1342
+ resetVisemeQueue();
1336
1343
  memoriSpeaking = false;
1344
+ emitEndSpeakEvent();
1337
1345
  }
1338
1346
  else if (audioContext.state === 'interrupted') {
1347
+ console.log('interrupted');
1348
+ stopProcessing();
1349
+ resetVisemeQueue();
1339
1350
  audioContext.resume();
1340
1351
  }
1341
1352
  };
1342
- audioContext.resume();
1343
- if (speechSynthesizer) {
1344
- speechSynthesizer.close();
1345
- speechSynthesizer = null;
1346
- }
1347
1353
  }
1348
1354
  catch (e) {
1349
1355
  console.warn('speak error: ', e);
1350
1356
  window.speechSynthesis.speak(new SpeechSynthesisUtterance(text));
1351
- clearVisemes();
1352
1357
  setIsPlayingAudio(false);
1353
1358
  memoriSpeaking = false;
1359
+ stopProcessing();
1360
+ resetVisemeQueue();
1354
1361
  if (speechSynthesizer) {
1355
1362
  speechSynthesizer.close();
1356
1363
  speechSynthesizer = null;
@@ -1360,7 +1367,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1360
1367
  }
1361
1368
  else {
1362
1369
  audioContext.resume();
1363
- clearVisemes();
1370
+ stopProcessing();
1371
+ resetVisemeQueue();
1364
1372
  setIsPlayingAudio(false);
1365
1373
  memoriSpeaking = false;
1366
1374
  emitEndSpeakEvent();
@@ -1370,6 +1378,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1370
1378
  window.speechSynthesis.speak(new SpeechSynthesisUtterance(text));
1371
1379
  setIsPlayingAudio(false);
1372
1380
  memoriSpeaking = false;
1381
+ stopProcessing();
1382
+ resetVisemeQueue();
1373
1383
  emitEndSpeakEvent();
1374
1384
  });
1375
1385
  setMemoriTyping(false);
@@ -2087,7 +2097,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
2087
2097
  }
2088
2098
  }, [tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation, deepThoughtEnabled]);
2089
2099
  const showFullHistory = showOnlyLastMessages === undefined
2090
- ? layout !== 'TOTEM' && layout !== 'WEBSITE_ASSISTANT'
2100
+ ? layout !== 'TOTEM' &&
2101
+ layout !== 'WEBSITE_ASSISTANT' &&
2102
+ layout !== 'HIDDEN_CHAT'
2091
2103
  : !showOnlyLastMessages;
2092
2104
  const headerProps = {
2093
2105
  memori,