@memori.ai/memori-react 7.11.4 → 7.12.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.
- package/CHANGELOG.md +49 -0
- package/README.md +2 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +52 -75
- package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/AnimationController.js +2 -2
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/AnimationController.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +8 -2
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.d.ts +1 -0
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.js +6 -3
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/PositionController.js +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/PositionController.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.d.ts +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.js +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/controls.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +74 -0
- package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +101 -0
- package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -0
- package/dist/components/Chat/Chat.d.ts +10 -1
- package/dist/components/Chat/Chat.js +2 -10
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.js +15 -4
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatInputs/ChatInputs.d.ts +11 -2
- package/dist/components/ChatInputs/ChatInputs.js +44 -6
- package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +8 -0
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +75 -51
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/dist/components/ExpertsDrawer/ExpertsDrawer.js +1 -1
- package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
- package/dist/components/FilePreview/FilePreview.css +155 -0
- package/dist/components/FilePreview/FilePreview.d.ts +12 -0
- package/dist/components/FilePreview/FilePreview.js +21 -0
- package/dist/components/FilePreview/FilePreview.js.map +1 -0
- package/dist/components/MemoriWidget/MemoriWidget.d.ts +3 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +20 -5
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/UploadButton/UploadButton.css +38 -0
- package/dist/components/UploadButton/UploadButton.d.ts +8 -0
- package/dist/components/UploadButton/UploadButton.js +79 -0
- package/dist/components/UploadButton/UploadButton.js.map +1 -0
- package/dist/components/icons/Preview.d.ts +5 -0
- package/dist/components/icons/Preview.js +6 -0
- package/dist/components/icons/Preview.js.map +1 -0
- package/dist/components/icons/Upload.d.ts +5 -0
- package/dist/components/icons/Upload.js +6 -0
- package/dist/components/icons/Upload.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/styles.css +2 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +52 -75
- package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/AnimationController.js +2 -2
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/AnimationController.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +8 -2
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.d.ts +1 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.js +6 -3
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/PositionController.js +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/PositionController.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.d.ts +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.js +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/controls.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +74 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +98 -0
- package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -0
- package/esm/components/Chat/Chat.d.ts +10 -1
- package/esm/components/Chat/Chat.js +2 -10
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.js +15 -4
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatInputs/ChatInputs.d.ts +11 -2
- package/esm/components/ChatInputs/ChatInputs.js +45 -7
- package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +8 -0
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +76 -52
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.js +1 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
- package/esm/components/FilePreview/FilePreview.css +155 -0
- package/esm/components/FilePreview/FilePreview.d.ts +12 -0
- package/esm/components/FilePreview/FilePreview.js +18 -0
- package/esm/components/FilePreview/FilePreview.js.map +1 -0
- package/esm/components/MemoriWidget/MemoriWidget.d.ts +3 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +20 -5
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/UploadButton/UploadButton.css +38 -0
- package/esm/components/UploadButton/UploadButton.d.ts +8 -0
- package/esm/components/UploadButton/UploadButton.js +76 -0
- package/esm/components/UploadButton/UploadButton.js.map +1 -0
- package/esm/components/icons/Preview.d.ts +5 -0
- package/esm/components/icons/Preview.js +4 -0
- package/esm/components/icons/Preview.js.map +1 -0
- package/esm/components/icons/Upload.d.ts +5 -0
- package/esm/components/icons/Upload.js +4 -0
- package/esm/components/icons/Upload.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -2
- package/esm/index.js.map +1 -1
- package/esm/styles.css +2 -0
- package/package.json +2 -1
- package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +120 -153
- package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/AnimationController.ts +3 -6
- package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +11 -1
- package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.ts +1 -0
- package/src/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.ts +33 -10
- package/src/components/Avatar/AvatarView/AvatarComponent/components/PositionController.ts +1 -1
- package/src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx +2 -2
- package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +1 -1
- package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +127 -0
- package/src/components/Chat/Chat.tsx +16 -10
- package/src/components/ChatBubble/ChatBubble.tsx +25 -2
- package/src/components/ChatInputs/ChatInputs.stories.tsx +5 -0
- package/src/components/ChatInputs/ChatInputs.test.tsx +6 -6
- package/src/components/ChatInputs/ChatInputs.tsx +91 -23
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +8 -0
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +1 -1
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +95 -66
- package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +3 -1
- package/src/components/FilePreview/FilePreview.css +155 -0
- package/src/components/FilePreview/FilePreview.stories.tsx +66 -0
- package/src/components/FilePreview/FilePreview.test.tsx +26 -0
- package/src/components/FilePreview/FilePreview.tsx +85 -0
- package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +149 -0
- package/src/components/MemoriWidget/MemoriWidget.stories.tsx +21 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +68 -3
- package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +240 -0
- package/src/components/UploadButton/UploadButton.css +38 -0
- package/src/components/UploadButton/UploadButton.stories.tsx +62 -0
- package/src/components/UploadButton/UploadButton.test.tsx +11 -0
- package/src/components/UploadButton/UploadButton.tsx +126 -0
- package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +31 -0
- package/src/components/icons/Preview.tsx +23 -0
- package/src/components/icons/Upload.tsx +23 -0
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +24 -0
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +24 -0
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +24 -0
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +24 -0
- package/src/components/layouts/layouts.stories.tsx +30 -46
- package/src/index.stories.tsx +68 -2
- package/src/index.tsx +4 -0
- package/src/styles.css +2 -0
- package/src/components/Avatar/AvatarView/AvatarComponent/components/constants.ts +0 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [7.12.1](https://github.com/memori-ai/memori-react/compare/v7.12.0...v7.12.1) (2024-12-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* improve condition for media handling in ChatBubble component ([89506e7](https://github.com/memori-ai/memori-react/commit/89506e738fee548537bc82cdb20472fc53162239))
|
|
9
|
+
* showUpload from integration bool checking and fallbacks ([c87f5d8](https://github.com/memori-ai/memori-react/commit/c87f5d84863048d4ef067fec38573996351ee515))
|
|
10
|
+
|
|
11
|
+
## [7.12.0](https://github.com/memori-ai/memori-react/compare/v7.11.4...v7.12.0) (2024-12-20)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* add new story for GiovannaProvaWithPreviousSession with session details ([cade750](https://github.com/memori-ai/memori-react/commit/cade750b199aa94d050d277b17e380fd470a064a))
|
|
17
|
+
* add new story variants for Giovanna and enhance MorphTargetController with detailed comments ([ee944c8](https://github.com/memori-ai/memori-react/commit/ee944c8d272c7d4877b23132ab99962950318303))
|
|
18
|
+
* added comments to separeted handling for GLB and RPM ([893ad9f](https://github.com/memori-ai/memori-react/commit/893ad9f938fa6e323325b1803f4be636910f5aaf))
|
|
19
|
+
* added sperated blend shape emotions handling for RPM and custom GLB ([511e716](https://github.com/memori-ai/memori-react/commit/511e716788aa76670568649dcce7c533e214a966))
|
|
20
|
+
* **ChatBubble:** integrate file upload and preview features ([7651640](https://github.com/memori-ai/memori-react/commit/7651640e984afb4775cf73762a21825cb7715bb6))
|
|
21
|
+
* **Chat:** enhance chat inputs with file upload functionality and media handling ([2bdd9bb](https://github.com/memori-ai/memori-react/commit/2bdd9bb1a1a729edf9dc9c5b40f14fb48b40ebaa))
|
|
22
|
+
* consolidate avatar animation constants into a single file with the emotions mapping constants ([98d6085](https://github.com/memori-ai/memori-react/commit/98d60859bb349aadff34fca079378bb72c9c02bc))
|
|
23
|
+
* enhance organization of avatar animation configuration ([312f3a2](https://github.com/memori-ai/memori-react/commit/312f3a21f0edc1b4d7e6eae557666aa336ff2e08))
|
|
24
|
+
* **FilePreview:** add FilePreview component with styles, stories, and tests ([0bb6262](https://github.com/memori-ai/memori-react/commit/0bb6262b99828695d5acbdeadb0851e66ddbd042))
|
|
25
|
+
* updated snapshots ([9a04d6d](https://github.com/memori-ai/memori-react/commit/9a04d6dd210e839534615b236701de3f80e6b5c6))
|
|
26
|
+
* **UploadButton:** add file upload component with styling and stories ([bd9d526](https://github.com/memori-ai/memori-react/commit/bd9d526473c9531bb5f3cbc159cef04aeeef6573))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* **AgeVerificationModal:** update z-index for improved modal visibility ([39043c7](https://github.com/memori-ai/memori-react/commit/39043c779b30551bc66b79c8901b2228ad3a1956))
|
|
32
|
+
* boe avatar url ([7e32f25](https://github.com/memori-ai/memori-react/commit/7e32f254a2892396f9f881677e9a5dfe7611888a))
|
|
33
|
+
* for CompletionProviderStatus improved react renders and api calls ([911ee87](https://github.com/memori-ai/memori-react/commit/911ee8764eba8286549fd2131dc11804a3b3d61d))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Changes
|
|
37
|
+
|
|
38
|
+
* remove ConvertAPI token and fetch token dynamically in UploadButton component ([568da4f](https://github.com/memori-ai/memori-react/commit/568da4fcfbd58f1e1fb8ddcf567f1de3275efefc))
|
|
39
|
+
* replaced old blenshapes name with updated ones ([3fffd62](https://github.com/memori-ai/memori-react/commit/3fffd62fe184057ad29031a75662681ad8946831))
|
|
40
|
+
* update comments for RPM and GLB emotion handling in AvatarComponent ([533bd93](https://github.com/memori-ai/memori-react/commit/533bd937ac4aaf25f912c28713d0ed6a7f8ea221))
|
|
41
|
+
* update import paths for avatar components ([1ee58c9](https://github.com/memori-ai/memori-react/commit/1ee58c944ebdd6dcc33d7a630327862ff6d7152e))
|
|
42
|
+
* **UploadButton:** remove convertapiToken prop and streamline token fetching logic ([1bbc761](https://github.com/memori-ai/memori-react/commit/1bbc76134dbe52449b8c49f8cfb51040e711c64f))
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Maintenance
|
|
46
|
+
|
|
47
|
+
* cleanup + add global prop for showUpload ([fa29eb6](https://github.com/memori-ai/memori-react/commit/fa29eb690bbc027213207c39aac8a27065327867))
|
|
48
|
+
* downgrade convertapi-js version and update dependencies in package.json and yarn.lock ([ce33a34](https://github.com/memori-ai/memori-react/commit/ce33a343ae4ab18c4ee6543b57703f2ce0167647))
|
|
49
|
+
* update configuration and add convertapi-js mock ([d961e72](https://github.com/memori-ai/memori-react/commit/d961e725b04cedf2580d063d4f55e79e65e6e6e9))
|
|
50
|
+
* update dependencies and package versions in package.json and yarn.lock ([fcc0220](https://github.com/memori-ai/memori-react/commit/fcc0220e200ba6eb4bca44d97e069fe3f542e3c1))
|
|
51
|
+
|
|
3
52
|
## [7.11.4](https://github.com/memori-ai/memori-react/compare/v7.11.3...v7.11.4) (2024-12-10)
|
|
4
53
|
|
|
5
54
|
|
package/README.md
CHANGED
|
@@ -74,6 +74,7 @@ const App = () => (
|
|
|
74
74
|
| `showLogin` | | `bool` | `true` | Show the login button |
|
|
75
75
|
| `showClear` | | `bool` | `false` | Show clear chat history button |
|
|
76
76
|
| `showOnlyLastMessages` | | `bool` | `true` or `false` \* | Show only last 2 messages. (\*) Defaults to `true` for `TOTEM` and `WEBSITE_ASSISTANT` layouts, `false` otherwise |
|
|
77
|
+
| `showUpload` | | `bool` | `true` | Show the upload button within the chat |
|
|
77
78
|
| `baseURL` | | `string` | | Base URL of the Memori, example: "https://aisuru.com" |
|
|
78
79
|
| `apiURL` | | `string` | "https://backend.memori.ai" | URL of the Memori Backend API |
|
|
79
80
|
| `engineURL` | | `string` | "https://engine.memori.ai" | URL of the Memori Engine API |
|
|
@@ -90,7 +91,7 @@ const App = () => (
|
|
|
90
91
|
| `disableTextEnteredEvents` | | `boolean` | `false` | Disable MemoriTextEntered events listeners for `typeMessage` functions, useful to avoid issues with multiple widgets in page. |
|
|
91
92
|
| `useMathFormatting` | | `boolean` | `false` | Apply math formatting to the messages, defaults to false if otherwise indicated by props or integration config. |
|
|
92
93
|
| `AZURE_COGNITIVE_SERVICES_TTS_KEY` | | `string` | | Azure Cognitive Services TTS key, used to generate the audio of the Memori and for STT recognition |
|
|
93
|
-
| `layout` | | `string` | | Layout of the Memori, can be "FULLPAGE" (default), "CHAT", "WEBSITE_ASSISTANT", "TOTEM", "HIDDEN_CHAT" or "ZOOMED_FULL_BODY". see [below](#layouts)
|
|
94
|
+
| `layout` | | `string` | | Layout of the Memori, can be "FULLPAGE" (default), "CHAT", "WEBSITE_ASSISTANT", "TOTEM", "HIDDEN_CHAT" or "ZOOMED_FULL_BODY". see [below](#layouts) |
|
|
94
95
|
| `customLayout` | | `React.FC<LayoutProps>` | | Custom layout component, see [below](#custom-layout) |
|
|
95
96
|
| `customMediaRenderer` | | `(mimeType: string) => JSX.Element \| null` | | Custom media renderer, see [below](#custom-media-renderer) |
|
|
96
97
|
| `additionalSettings` | | `JSX.Element` | | Custom JSX or component to render within the settings drawer |
|
|
@@ -7,32 +7,8 @@ const react_1 = require("react");
|
|
|
7
7
|
const controls_1 = tslib_1.__importDefault(require("./components/controls"));
|
|
8
8
|
const fullbodyAvatar_1 = require("./components/FullbodyAvatar/fullbodyAvatar");
|
|
9
9
|
const halfbodyAvatar_1 = tslib_1.__importDefault(require("./components/halfbodyAvatar"));
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
Gioia2: { weight: 0 },
|
|
13
|
-
Gioia3: { weight: 0 },
|
|
14
|
-
Idle1: { weight: 1 },
|
|
15
|
-
Idle2: { weight: 0 },
|
|
16
|
-
Idle3: { weight: 0 },
|
|
17
|
-
Idle4: { weight: 0 },
|
|
18
|
-
Idle5: { weight: 0 },
|
|
19
|
-
Rabbia1: { weight: 0 },
|
|
20
|
-
Rabbia2: { weight: 0 },
|
|
21
|
-
Rabbia3: { weight: 0 },
|
|
22
|
-
Sorpresa1: { weight: 0 },
|
|
23
|
-
Sorpresa2: { weight: 0 },
|
|
24
|
-
Sorpresa3: { weight: 0 },
|
|
25
|
-
Timore1: { weight: 0 },
|
|
26
|
-
Timore2: { weight: 0 },
|
|
27
|
-
Timore3: { weight: 0 },
|
|
28
|
-
Tristezza1: { weight: 0 },
|
|
29
|
-
Tristezza2: { weight: 0 },
|
|
30
|
-
Tristezza3: { weight: 0 },
|
|
31
|
-
Loading1: { weight: 0 },
|
|
32
|
-
Loading2: { weight: 0 },
|
|
33
|
-
Loading3: { weight: 0 },
|
|
34
|
-
};
|
|
35
|
-
const AvatarView = ({ stopProcessing, chatEmission, showControls, animation, url, sex, eyeBlink, headMovement, halfBody, loading, avatarHeight, avatarDepth, updateCurrentViseme, resetVisemeQueue, setCameraZ, }) => {
|
|
10
|
+
const constants_1 = require("./constants");
|
|
11
|
+
const AvatarView = ({ stopProcessing, chatEmission, showControls, animation, url, sex, eyeBlink, headMovement, halfBody, loading, avatarHeight = 50, avatarDepth = -50, updateCurrentViseme, resetVisemeQueue, setCameraZ, }) => {
|
|
36
12
|
const [currentBaseAction, setCurrentBaseAction] = (0, react_1.useState)({
|
|
37
13
|
action: animation || 'Idle1',
|
|
38
14
|
weight: 1,
|
|
@@ -40,75 +16,76 @@ const AvatarView = ({ stopProcessing, chatEmission, showControls, animation, url
|
|
|
40
16
|
const [morphTargetInfluences, setMorphTargetInfluences] = (0, react_1.useState)({});
|
|
41
17
|
const [morphTargetDictionary, setMorphTargetDictionary] = (0, react_1.useState)({});
|
|
42
18
|
const [emotionMorphTargets, setEmotionMorphTargets] = (0, react_1.useState)({});
|
|
19
|
+
const [isRPM, setIsRPM] = (0, react_1.useState)(false);
|
|
43
20
|
const [timeScale, setTimeScale] = (0, react_1.useState)(0.8);
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
21
|
+
const emotionMap = {
|
|
22
|
+
Joy: { Joy: 1 },
|
|
23
|
+
Anger: { Anger: 1 },
|
|
24
|
+
Surprise: { Surprise: 1 },
|
|
25
|
+
Sadness: { Sadness: 1 },
|
|
26
|
+
Fear: { Fear: 1 },
|
|
27
|
+
};
|
|
28
|
+
const getDefaultEmotions = () => Object.keys(emotionMap).reduce((acc, key) => ({ ...acc, [key]: 0 }), {});
|
|
29
|
+
const handleRPMBlendShape = (0, react_1.useCallback)((outputContent) => constants_1.MAPPING_BLEND_SHAPE_TO_EMOTION_RPM[outputContent], []);
|
|
30
|
+
const handleCustomGLBBlendShape = (0, react_1.useCallback)((outputContent) => constants_1.MAPPING_BLEND_SHAPE_TO_EMOTION_CUSTOM_GLB[outputContent], []);
|
|
31
|
+
const setEmotionMorphTargetInfluences = (0, react_1.useCallback)((action, outputContent) => {
|
|
32
|
+
if (action.startsWith('Loading'))
|
|
33
|
+
return;
|
|
34
|
+
const defaultEmotions = getDefaultEmotions();
|
|
35
|
+
if (outputContent === 'default') {
|
|
36
|
+
setEmotionMorphTargets(defaultEmotions);
|
|
48
37
|
return;
|
|
49
38
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
...defaultEmotions,
|
|
65
|
-
...emotionValues,
|
|
66
|
-
}));
|
|
67
|
-
}, []);
|
|
68
|
-
const onBaseActionChange = (0, react_1.useCallback)((action) => {
|
|
69
|
-
setEmotionMorphTargetInfluences(action);
|
|
70
|
-
setCurrentBaseAction({
|
|
71
|
-
action,
|
|
72
|
-
weight: 1,
|
|
73
|
-
});
|
|
74
|
-
}, []);
|
|
39
|
+
if (isRPM) {
|
|
40
|
+
const emotion = handleRPMBlendShape(outputContent);
|
|
41
|
+
setEmotionMorphTargets((_) => ({ ...defaultEmotions, ...emotion }));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const emotion = handleCustomGLBBlendShape(outputContent);
|
|
45
|
+
const emotionValues = emotion === 'default' ? defaultEmotions : emotionMap[emotion];
|
|
46
|
+
setEmotionMorphTargets((_) => ({ ...defaultEmotions, ...emotionValues }));
|
|
47
|
+
}
|
|
48
|
+
}, [isRPM, handleRPMBlendShape, handleCustomGLBBlendShape]);
|
|
49
|
+
const onBaseActionChange = (0, react_1.useCallback)((action, outputContent) => {
|
|
50
|
+
setEmotionMorphTargetInfluences(action, outputContent);
|
|
51
|
+
setCurrentBaseAction({ action, weight: 1 });
|
|
52
|
+
}, [setEmotionMorphTargetInfluences]);
|
|
75
53
|
const onMorphTargetInfluencesChange = (0, react_1.useCallback)((influences) => {
|
|
76
|
-
setMorphTargetInfluences(
|
|
77
|
-
...prevInfluences,
|
|
78
|
-
...influences,
|
|
79
|
-
}));
|
|
54
|
+
setMorphTargetInfluences(prev => ({ ...prev, ...influences }));
|
|
80
55
|
}, []);
|
|
81
56
|
const onMorphTargetDictionaryChange = (0, react_1.useCallback)((dictionary) => {
|
|
82
57
|
setMorphTargetDictionary(dictionary);
|
|
83
58
|
}, []);
|
|
84
|
-
const modifyTimeScale = (0, react_1.useCallback)((value) => {
|
|
85
|
-
setTimeScale(value);
|
|
86
|
-
}, []);
|
|
87
59
|
(0, react_1.useEffect)(() => {
|
|
88
60
|
var _a, _b;
|
|
61
|
+
if (loading) {
|
|
62
|
+
const randomNumber = Math.floor(Math.random() * 3) + 1;
|
|
63
|
+
onBaseActionChange(`Loading${randomNumber}`, '');
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
89
66
|
const hasOutputTag = chatEmission === null || chatEmission === void 0 ? void 0 : chatEmission.includes('<output class="memori-emotion">');
|
|
90
67
|
const outputContent = hasOutputTag
|
|
91
68
|
? (_b = (_a = chatEmission === null || chatEmission === void 0 ? void 0 : chatEmission.split('<output class="memori-emotion">')[1]) === null || _a === void 0 ? void 0 : _a.split('</output>')[0]) === null || _b === void 0 ? void 0 : _b.trim()
|
|
92
69
|
: null;
|
|
93
70
|
if (outputContent) {
|
|
94
71
|
const randomNumber = Math.floor(Math.random() * 3) + 1;
|
|
95
|
-
|
|
96
|
-
onBaseActionChange(emotion);
|
|
72
|
+
onBaseActionChange(`${outputContent}${randomNumber}`, outputContent);
|
|
97
73
|
}
|
|
98
74
|
else {
|
|
99
75
|
const randomNumber = Math.floor(Math.random() * 5) + 1;
|
|
100
|
-
|
|
101
|
-
onBaseActionChange(animation);
|
|
102
|
-
}
|
|
103
|
-
}, [chatEmission]);
|
|
104
|
-
(0, react_1.useEffect)(() => {
|
|
105
|
-
if (loading) {
|
|
106
|
-
const randomNumber = Math.floor(Math.random() * 3) + 1;
|
|
107
|
-
const animation = `Loading${randomNumber}`;
|
|
108
|
-
onBaseActionChange(animation);
|
|
76
|
+
onBaseActionChange(`Idle${randomNumber === 3 ? 4 : randomNumber}`, '');
|
|
109
77
|
}
|
|
110
|
-
}, [loading]);
|
|
111
|
-
|
|
78
|
+
}, [chatEmission, loading, onBaseActionChange]);
|
|
79
|
+
const commonAvatarProps = {
|
|
80
|
+
url,
|
|
81
|
+
onCameraZChange: setCameraZ,
|
|
82
|
+
setMorphTargetInfluences,
|
|
83
|
+
setMorphTargetDictionary,
|
|
84
|
+
updateCurrentViseme,
|
|
85
|
+
avatarHeight,
|
|
86
|
+
avatarDepth,
|
|
87
|
+
};
|
|
88
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [showControls && ((0, jsx_runtime_1.jsx)(controls_1.default, { timeScale: timeScale, morphTargetDictionary: morphTargetDictionary, onBaseActionChange: onBaseActionChange, onMorphTargetInfluencesChange: onMorphTargetInfluencesChange, onMorphTargetDictionaryChange: onMorphTargetDictionaryChange, baseActions: constants_1.BASE_ACTIONS, currentBaseAction: currentBaseAction, modifyTimeScale: setTimeScale })), halfBody ? ((0, jsx_runtime_1.jsx)(halfbodyAvatar_1.default, { ...commonAvatarProps, headMovement: headMovement })) : ((0, jsx_runtime_1.jsx)(fullbodyAvatar_1.FullbodyAvatar, { ...commonAvatarProps, sex: sex, setIsRpm: setIsRPM, resetVisemeQueue: resetVisemeQueue, eyeBlink: eyeBlink, currentBaseAction: currentBaseAction, timeScale: timeScale, morphTargetInfluences: morphTargetInfluences, stopProcessing: stopProcessing, emotionMorphTargets: emotionMorphTargets, halfBody: halfBody }))] }));
|
|
112
89
|
};
|
|
113
90
|
exports.AvatarView = AvatarView;
|
|
114
91
|
//# sourceMappingURL=avatarComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatarComponent.js","sourceRoot":"","sources":["../../../../../src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"avatarComponent.js","sourceRoot":"","sources":["../../../../../src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AnimationController = void 0;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
5
|
const three_1 = require("three");
|
|
6
|
-
const constants_1 = require("
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
7
|
class AnimationController {
|
|
8
8
|
constructor(mixer, actions, config = constants_1.DEFAULT_CONFIG) {
|
|
9
9
|
this.currentState = types_1.AnimationState.LOADING;
|
|
@@ -11,7 +11,7 @@ class AnimationController {
|
|
|
11
11
|
this.lastIdleIndex = -1;
|
|
12
12
|
this.isTransitioning = false;
|
|
13
13
|
this.currentIdleLoopCount = 0;
|
|
14
|
-
this.MAX_IDLE_LOOPS =
|
|
14
|
+
this.MAX_IDLE_LOOPS = constants_1.MAX_IDLE_LOOPS_DEFAULT;
|
|
15
15
|
this.lastAnimationTime = 0;
|
|
16
16
|
this.isChatAlreadyStarted = false;
|
|
17
17
|
this.mixer = mixer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimationController.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/AnimationController.ts"],"names":[],"mappings":";;;AAAA,mCAA0D;AAC1D,iCAAkE;AAClE
|
|
1
|
+
{"version":3,"file":"AnimationController.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/AnimationController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { FullbodyAvatarProps } from './types';
|
|
2
|
-
export declare function FullbodyAvatar({ url, sex, currentBaseAction, timeScale, eyeBlink, updateCurrentViseme, setMorphTargetDictionary, setMorphTargetInfluences, emotionMorphTargets, avatarHeight, avatarDepth, onCameraZChange, }: FullbodyAvatarProps): JSX.Element;
|
|
2
|
+
export declare function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeBlink, updateCurrentViseme, setMorphTargetDictionary, setMorphTargetInfluences, emotionMorphTargets, avatarHeight, avatarDepth, onCameraZChange, }: FullbodyAvatarProps): JSX.Element;
|
|
@@ -10,8 +10,8 @@ const types_1 = require("./types");
|
|
|
10
10
|
const AnimationController_1 = require("./AnimationController");
|
|
11
11
|
const MorphTargetController_1 = require("../MorphTargetController");
|
|
12
12
|
const PositionController_1 = require("../PositionController");
|
|
13
|
-
const constants_1 = require("
|
|
14
|
-
function FullbodyAvatar({ url, sex, currentBaseAction, timeScale, eyeBlink, updateCurrentViseme, setMorphTargetDictionary, setMorphTargetInfluences, emotionMorphTargets, avatarHeight = 50, avatarDepth = 0, onCameraZChange, }) {
|
|
13
|
+
const constants_1 = require("../../constants");
|
|
14
|
+
function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeBlink, updateCurrentViseme, setMorphTargetDictionary, setMorphTargetInfluences, emotionMorphTargets, avatarHeight = 50, avatarDepth = 0, onCameraZChange, }) {
|
|
15
15
|
var _a;
|
|
16
16
|
const { scene } = (0, drei_1.useGLTF)(url);
|
|
17
17
|
const { animations } = (0, drei_1.useGLTF)(constants_1.ANIMATION_URLS[sex]);
|
|
@@ -59,6 +59,12 @@ function FullbodyAvatar({ url, sex, currentBaseAction, timeScale, eyeBlink, upda
|
|
|
59
59
|
scene === null || scene === void 0 ? void 0 : scene.traverse((object) => {
|
|
60
60
|
if (object instanceof three_1.SkinnedMesh &&
|
|
61
61
|
(object.name === 'GBNL__Head' || object.name === 'Wolf3D_Avatar')) {
|
|
62
|
+
if (object.name === 'GBNL__Head') {
|
|
63
|
+
setIsRpm(false);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
setIsRpm(true);
|
|
67
|
+
}
|
|
62
68
|
foundMesh = object;
|
|
63
69
|
}
|
|
64
70
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullbodyAvatar.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx"],"names":[],"mappings":";;;;AAAA,iCAAmD;AACnD,iCAKe;AACf,4CAA2D;AAC3D,8CAA8C;AAC9C,mCAA8D;AAC9D,+DAA4D;AAC5D,oEAAiE;AACjE,8DAAiE;AACjE
|
|
1
|
+
{"version":3,"file":"fullbodyAvatar.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MorphTargetController = void 0;
|
|
4
4
|
const three_1 = require("three");
|
|
5
|
-
const constants_1 = require("
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
6
|
class MorphTargetController {
|
|
7
7
|
constructor(headMesh) {
|
|
8
8
|
this.currentEmotionValues = {};
|
|
@@ -12,6 +12,7 @@ class MorphTargetController {
|
|
|
12
12
|
updateMorphTargets(currentTime, emotionMorphTargets, currentViseme, eyeBlink, blinkState) {
|
|
13
13
|
if (!this.headMesh.morphTargetDictionary ||
|
|
14
14
|
!this.headMesh.morphTargetInfluences) {
|
|
15
|
+
console.error('[MorphTargetController] Missing morphTargetDictionary or morphTargetInfluences');
|
|
15
16
|
return;
|
|
16
17
|
}
|
|
17
18
|
const blinkValue = this.calculateBlinkValue(currentTime, blinkState, eyeBlink);
|
|
@@ -23,7 +24,8 @@ class MorphTargetController {
|
|
|
23
24
|
if (currentEmotionKeys.has(key)) {
|
|
24
25
|
const targetEmotionValue = emotionMorphTargets[key];
|
|
25
26
|
const currentEmotionValue = this.currentEmotionValues[key] || 0;
|
|
26
|
-
const newEmotionValue = three_1.MathUtils.lerp(currentEmotionValue, targetEmotionValue *
|
|
27
|
+
const newEmotionValue = three_1.MathUtils.lerp(currentEmotionValue, targetEmotionValue * 3, constants_1.EMOTION_SMOOTHING);
|
|
28
|
+
console.log(`[MorphTargetController] Emotion ${key}: current=${currentEmotionValue}, target=${targetEmotionValue}, new=${newEmotionValue}`);
|
|
27
29
|
this.currentEmotionValues[key] = newEmotionValue;
|
|
28
30
|
targetValue += newEmotionValue;
|
|
29
31
|
}
|
|
@@ -35,7 +37,8 @@ class MorphTargetController {
|
|
|
35
37
|
}
|
|
36
38
|
targetValue = three_1.MathUtils.clamp(targetValue, 0, 1);
|
|
37
39
|
if (this.headMesh.morphTargetInfluences) {
|
|
38
|
-
|
|
40
|
+
const finalValue = three_1.MathUtils.lerp(this.headMesh.morphTargetInfluences[index] || 0, targetValue, constants_1.VISEME_SMOOTHING);
|
|
41
|
+
this.headMesh.morphTargetInfluences[index] = finalValue;
|
|
39
42
|
}
|
|
40
43
|
});
|
|
41
44
|
this.previousEmotionKeys = currentEmotionKeys;
|
package/dist/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MorphTargetController.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.ts"],"names":[],"mappings":";;;AACA,iCAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"MorphTargetController.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/MorphTargetController.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AvatarPositionController = void 0;
|
|
4
4
|
const three_1 = require("three");
|
|
5
|
-
const constants_1 = require("
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
6
|
class AvatarPositionController {
|
|
7
7
|
constructor(defaultPosition = constants_1.AVATAR_POSITION.clone(), zoomedPosition = constants_1.AVATAR_POSITION_ZOOMED.clone(), initialCameraZ = 0.6) {
|
|
8
8
|
this.defaultPosition = defaultPosition;
|
package/dist/components/Avatar/AvatarView/AvatarComponent/components/PositionController.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionController.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/PositionController.ts"],"names":[],"mappings":";;;AAAA,iCAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"PositionController.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/PositionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ interface BaseAction {
|
|
|
5
5
|
}
|
|
6
6
|
export interface AnimationControlPanelProps {
|
|
7
7
|
baseActions: Record<string, BaseAction>;
|
|
8
|
-
onBaseActionChange: (action: string) => void;
|
|
8
|
+
onBaseActionChange: (action: string, outputContent: string) => void;
|
|
9
9
|
currentBaseAction: {
|
|
10
10
|
action: string;
|
|
11
11
|
weight: number;
|
|
@@ -19,7 +19,7 @@ const AnimationControlPanel = ({ onBaseActionChange, baseActions, modifyTimeScal
|
|
|
19
19
|
baseNames.forEach(name => {
|
|
20
20
|
const settings = baseActions[name];
|
|
21
21
|
panelSettingsRef.current[name] = () => {
|
|
22
|
-
onBaseActionChange(name);
|
|
22
|
+
onBaseActionChange(name, '');
|
|
23
23
|
};
|
|
24
24
|
const control = folder1.add(panelSettingsRef.current, name);
|
|
25
25
|
crossFadeControlsRef.current.push(control);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx"],"names":[],"mappings":";;;AAAA,iCAA2D;AAC3D,8DAA0B;AA0B1B,MAAM,qBAAqB,GAAyC,CAAC,EACnE,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAA,cAAM,EAAa,IAAI,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAsB;QACnD,mBAAmB,EAAE,SAAS;KAC/B,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,IAAA,cAAM,EAAQ,EAAE,CAAC,CAAC;IAE/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QAEb,MAAM,GAAG,GAAG,IAAI,iBAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QAErB,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAExD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE;gBACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx"],"names":[],"mappings":";;;AAAA,iCAA2D;AAC3D,8DAA0B;AA0B1B,MAAM,qBAAqB,GAAyC,CAAC,EACnE,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,SAAS,GACV,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAA,cAAM,EAAa,IAAI,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAsB;QACnD,mBAAmB,EAAE,SAAS;KAC/B,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,IAAA,cAAM,EAAQ,EAAE,CAAC,CAAC;IAE/C,IAAA,iBAAS,EAAC,GAAG,EAAE;QAEb,MAAM,GAAG,GAAG,IAAI,iBAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QAErB,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAExD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE;gBACpC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5D,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE;YACjE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAC,GAAG,CAAC;YAC9C,OAAO;iBACJ,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;iBACpD,MAAM,EAAE;iBACR,QAAQ,CAAC,CAAC,MAAc,EAAE,EAAE;gBAC3B,6BAA6B,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO;aACJ,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;aAClE,QAAQ,CAAC,CAAC,KAAa,EAAE,EAAE;YAC1B,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,kBAAkB;QAClB,6BAA6B;QAC7B,6BAA6B;QAC7B,eAAe;QACf,WAAW;QACX,qBAAqB;QACrB,SAAS;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
|
|
@@ -9,7 +9,7 @@ const fiber_1 = require("@react-three/fiber");
|
|
|
9
9
|
const utils_1 = require("../../../../../helpers/utils");
|
|
10
10
|
const MorphTargetController_1 = require("./MorphTargetController");
|
|
11
11
|
const PositionController_1 = require("./PositionController");
|
|
12
|
-
const constants_1 = require("
|
|
12
|
+
const constants_1 = require("../constants");
|
|
13
13
|
const utils_2 = require("../../utils/utils");
|
|
14
14
|
const useHeadMovement_1 = tslib_1.__importDefault(require("../../utils/useHeadMovement"));
|
|
15
15
|
function HalfBodyAvatar({ url, setMorphTargetInfluences, setMorphTargetDictionary, updateCurrentViseme, eyeBlink = false, avatarHeight = 50, avatarDepth = 0, headMovement = false, onLoaded, onCameraZChange, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"halfbodyAvatar.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx"],"names":[],"mappings":";;;;AAAA,iCAAmD;AACnD,iCAA8C;AAC9C,4CAA4C;AAC5C,8CAAkE;AAClE,wDAA+E;AAC/E,mEAAgE;AAChE,6DAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"halfbodyAvatar.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx"],"names":[],"mappings":"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"}
|