@liforma/client 0.2.1 → 0.3.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.
- package/CHANGELOG.md +14 -0
- package/README.md +28 -1
- package/dist/next/index.js +2086 -1429
- package/dist/next/index.js.map +1 -1
- package/dist/next/react/ExperienceThumbnail.d.ts.map +1 -1
- package/dist/next/thumbnail/index.d.ts +2 -1
- package/dist/next/thumbnail/index.d.ts.map +1 -1
- package/dist/next/thumbnail/lazyLoad.d.ts +2 -0
- package/dist/next/thumbnail/lazyLoad.d.ts.map +1 -1
- package/dist/next/thumbnail/lazyLoad.test.d.ts +2 -0
- package/dist/next/thumbnail/lazyLoad.test.d.ts.map +1 -0
- package/dist/next/thumbnail/scrollParallax.d.ts +6 -1
- package/dist/next/thumbnail/scrollParallax.d.ts.map +1 -1
- package/dist/next/thumbnail/styles.d.ts.map +1 -1
- package/dist/next/thumbnail/thumbLoadScheduler.d.ts +14 -0
- package/dist/next/thumbnail/thumbLoadScheduler.d.ts.map +1 -0
- package/dist/next/v2/embed/iframeHost.d.ts +33 -2
- package/dist/next/v2/embed/iframeHost.d.ts.map +1 -1
- package/dist/next/v2/embed/playerReachability.d.ts +1 -1
- package/dist/next/v2/embed/playerReachability.d.ts.map +1 -1
- package/dist/next/v2/embed/protocol.d.ts +53 -0
- package/dist/next/v2/embed/protocol.d.ts.map +1 -1
- package/dist/next/v2/experience.d.ts +7 -3
- package/dist/next/v2/experience.d.ts.map +1 -1
- package/dist/next/v2/speech/captureMediaStreamTrack.d.ts +17 -0
- package/dist/next/v2/speech/captureMediaStreamTrack.d.ts.map +1 -0
- package/dist/next/v2/speech/index.d.ts +4 -0
- package/dist/next/v2/speech/index.d.ts.map +1 -0
- package/dist/next/v2/speech/speechController.d.ts +16 -0
- package/dist/next/v2/speech/speechController.d.ts.map +1 -0
- package/dist/next/v2/speech/types.d.ts +176 -0
- package/dist/next/v2/speech/types.d.ts.map +1 -0
- package/dist/next/v2/types/sessionInteraction.d.ts +6 -3
- package/dist/next/v2/types/sessionInteraction.d.ts.map +1 -1
- package/dist/npm/index.js +1835 -1178
- package/dist/npm/index.js.map +1 -1
- package/dist/npm/thumbnail/index.d.ts +2 -1
- package/dist/npm/thumbnail/index.d.ts.map +1 -1
- package/dist/npm/thumbnail/lazyLoad.d.ts +2 -0
- package/dist/npm/thumbnail/lazyLoad.d.ts.map +1 -1
- package/dist/npm/thumbnail/scrollParallax.d.ts +6 -1
- package/dist/npm/thumbnail/scrollParallax.d.ts.map +1 -1
- package/dist/npm/thumbnail/styles.d.ts.map +1 -1
- package/dist/npm/thumbnail/thumbLoadScheduler.d.ts +14 -0
- package/dist/npm/thumbnail/thumbLoadScheduler.d.ts.map +1 -0
- package/dist/npm/v2/embed/iframeHost.d.ts +33 -2
- package/dist/npm/v2/embed/iframeHost.d.ts.map +1 -1
- package/dist/npm/v2/embed/playerReachability.d.ts +1 -1
- package/dist/npm/v2/embed/playerReachability.d.ts.map +1 -1
- package/dist/npm/v2/embed/protocol.d.ts +53 -0
- package/dist/npm/v2/embed/protocol.d.ts.map +1 -1
- package/dist/npm/v2/experience.d.ts +7 -3
- package/dist/npm/v2/experience.d.ts.map +1 -1
- package/dist/npm/v2/index.d.ts +4 -1
- package/dist/npm/v2/index.d.ts.map +1 -1
- package/dist/npm/v2/liforma-experience-thumbnail.d.ts.map +1 -1
- package/dist/npm/v2/npm.d.ts +4 -2
- package/dist/npm/v2/npm.d.ts.map +1 -1
- package/dist/npm/v2/speech/captureMediaStreamTrack.d.ts +17 -0
- package/dist/npm/v2/speech/captureMediaStreamTrack.d.ts.map +1 -0
- package/dist/npm/v2/speech/index.d.ts +4 -0
- package/dist/npm/v2/speech/index.d.ts.map +1 -0
- package/dist/npm/v2/speech/speechController.d.ts +16 -0
- package/dist/npm/v2/speech/speechController.d.ts.map +1 -0
- package/dist/npm/v2/speech/types.d.ts +176 -0
- package/dist/npm/v2/speech/types.d.ts.map +1 -0
- package/dist/npm/v2/types/sessionInteraction.d.ts +6 -3
- package/dist/npm/v2/types/sessionInteraction.d.ts.map +1 -1
- package/dist/react/component/experienceComponentTypes.d.ts +2 -2
- package/dist/react/component/experienceComponentTypes.d.ts.map +1 -1
- package/dist/react/index.js +2127 -1461
- package/dist/react/index.js.map +1 -1
- package/dist/react/react/Experience.d.ts.map +1 -1
- package/dist/react/react/ExperienceThumbnail.d.ts.map +1 -1
- package/dist/react/thumbnail/index.d.ts +2 -1
- package/dist/react/thumbnail/index.d.ts.map +1 -1
- package/dist/react/thumbnail/lazyLoad.d.ts +2 -0
- package/dist/react/thumbnail/lazyLoad.d.ts.map +1 -1
- package/dist/react/thumbnail/lazyLoad.test.d.ts +2 -0
- package/dist/react/thumbnail/lazyLoad.test.d.ts.map +1 -0
- package/dist/react/thumbnail/scrollParallax.d.ts +6 -1
- package/dist/react/thumbnail/scrollParallax.d.ts.map +1 -1
- package/dist/react/thumbnail/styles.d.ts.map +1 -1
- package/dist/react/thumbnail/thumbLoadScheduler.d.ts +14 -0
- package/dist/react/thumbnail/thumbLoadScheduler.d.ts.map +1 -0
- package/dist/react/v2/embed/iframeHost.d.ts +33 -2
- package/dist/react/v2/embed/iframeHost.d.ts.map +1 -1
- package/dist/react/v2/embed/playerReachability.d.ts +1 -1
- package/dist/react/v2/embed/playerReachability.d.ts.map +1 -1
- package/dist/react/v2/embed/protocol.d.ts +53 -0
- package/dist/react/v2/embed/protocol.d.ts.map +1 -1
- package/dist/react/v2/experience.d.ts +7 -3
- package/dist/react/v2/experience.d.ts.map +1 -1
- package/dist/react/v2/speech/captureMediaStreamTrack.d.ts +17 -0
- package/dist/react/v2/speech/captureMediaStreamTrack.d.ts.map +1 -0
- package/dist/react/v2/speech/index.d.ts +4 -0
- package/dist/react/v2/speech/index.d.ts.map +1 -0
- package/dist/react/v2/speech/speechController.d.ts +16 -0
- package/dist/react/v2/speech/speechController.d.ts.map +1 -0
- package/dist/react/v2/speech/types.d.ts +176 -0
- package/dist/react/v2/speech/types.d.ts.map +1 -0
- package/dist/react/v2/types/sessionInteraction.d.ts +6 -3
- package/dist/react/v2/types/sessionInteraction.d.ts.map +1 -1
- package/dist/react/v2/types/sessionManifestSchema.d.ts +1 -1
- package/dist/sdk/v2/client.js +14 -10
- package/dist/sdk/v2/client.js.map +1 -1
- package/dist/svelte/Experience.svelte +18 -5
- package/dist/svelte/Experience.svelte.d.ts +7 -2
- package/dist/svelte/ExperienceThumbnail.svelte +3 -6
- package/package.json +4 -2
|
@@ -12,8 +12,6 @@
|
|
|
12
12
|
type ExperienceSession,
|
|
13
13
|
type ListenOnceOptions,
|
|
14
14
|
type SessionManifest,
|
|
15
|
-
type SpeakOptions,
|
|
16
|
-
type SpeechResult,
|
|
17
15
|
type StartSessionOptions,
|
|
18
16
|
type UtteranceResult
|
|
19
17
|
} from '@liforma/client';
|
|
@@ -408,9 +406,24 @@
|
|
|
408
406
|
return requireGeneration().started.promise;
|
|
409
407
|
}
|
|
410
408
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
409
|
+
/** Public speech API (`speak` / `play` / `createUtterance` / `interrupt`). */
|
|
410
|
+
export const speech = {
|
|
411
|
+
speak: (options: Parameters<ExperienceSession['speech']['speak']>[0]) =>
|
|
412
|
+
withSession((session) => session.speech.speak(options)),
|
|
413
|
+
play: (options: Parameters<ExperienceSession['speech']['play']>[0]) =>
|
|
414
|
+
withSession((session) => session.speech.play(options)),
|
|
415
|
+
createUtterance: (options: Parameters<ExperienceSession['speech']['createUtterance']>[0]) => {
|
|
416
|
+
const session = activeGeneration?.instance;
|
|
417
|
+
if (!session) {
|
|
418
|
+
throw new Error(
|
|
419
|
+
'Session has not started. Wait for the player start button and the started event before using speech APIs.'
|
|
420
|
+
);
|
|
421
|
+
}
|
|
422
|
+
return session.speech.createUtterance(options);
|
|
423
|
+
},
|
|
424
|
+
interrupt: (options?: Parameters<ExperienceSession['speech']['interrupt']>[0]) =>
|
|
425
|
+
withSession((session) => session.speech.interrupt(options))
|
|
426
|
+
};
|
|
414
427
|
|
|
415
428
|
export function startListening(): Promise<void> {
|
|
416
429
|
return withSession((session) => session.startListening());
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { type ExperienceEvents, type ExperienceSession, type ListenOnceOptions, type SessionManifest, type
|
|
1
|
+
import { type ExperienceEvents, type ExperienceSession, type ListenOnceOptions, type SessionManifest, type UtteranceResult } from '@liforma/client';
|
|
2
2
|
import type { ExperienceProps } from './types';
|
|
3
3
|
declare const Experience: import("svelte").Component<ExperienceProps, {
|
|
4
4
|
ready: () => Promise<ExperienceEvents["ready"]>;
|
|
5
5
|
started: () => Promise<ExperienceEvents["started"]>;
|
|
6
|
-
|
|
6
|
+
/** Public speech API (`speak` / `play` / `createUtterance` / `interrupt`). */ speech: {
|
|
7
|
+
speak: (options: Parameters<ExperienceSession["speech"]["speak"]>[0]) => Promise<import("@liforma/client").SpeechResult>;
|
|
8
|
+
play: (options: Parameters<ExperienceSession["speech"]["play"]>[0]) => Promise<import("@liforma/client").SpeechResult>;
|
|
9
|
+
createUtterance: (options: Parameters<ExperienceSession["speech"]["createUtterance"]>[0]) => import("@liforma/client").SpeechUtterance;
|
|
10
|
+
interrupt: (options?: Parameters<ExperienceSession["speech"]["interrupt"]>[0]) => Promise<readonly import("@liforma/client").SpeechResult[]>;
|
|
11
|
+
};
|
|
7
12
|
startListening: () => Promise<void>;
|
|
8
13
|
stopListening: () => Promise<UtteranceResult>;
|
|
9
14
|
listenOnce: (options?: ListenOnceOptions) => Promise<UtteranceResult>;
|
|
@@ -94,13 +94,10 @@
|
|
|
94
94
|
: layers.avatarImage
|
|
95
95
|
: ''
|
|
96
96
|
);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
avatarReady &&
|
|
101
|
-
(!layers?.foregroundImage || foregroundReady)
|
|
97
|
+
/** Fade placeholder as soon as any layer can paint — don't wait for the slowest plate. */
|
|
98
|
+
const revealThumb = $derived(
|
|
99
|
+
shouldLoad && (avatarReady || backgroundReady || foregroundReady)
|
|
102
100
|
);
|
|
103
|
-
const revealThumb = $derived(shouldLoad && sceneLayersReady);
|
|
104
101
|
|
|
105
102
|
$effect(() => {
|
|
106
103
|
if (lazy === false) shouldLoad = true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liforma/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Liforma browser SDK — Experience sessions, speech API, and Svelte embed component.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -115,7 +115,9 @@
|
|
|
115
115
|
"fetch:face-landmarker": "node scripts/fetch-face-landmarker.mjs",
|
|
116
116
|
"fetch:anime-face-detector": "node scripts/fetch-anime-face-detector.mjs",
|
|
117
117
|
"fetch:face-parsing": "node scripts/fetch-face-parsing.mjs",
|
|
118
|
-
"fetch:
|
|
118
|
+
"fetch:wav2vec-phoneme-ctc": "node scripts/fetch-wav2vec-phoneme-ctc.mjs",
|
|
119
|
+
"fetch:supertonic-3": "node scripts/fetch-supertonic-3.mjs",
|
|
120
|
+
"fetch:models": "npm run fetch:depth-anything-v2 && npm run fetch:video-depth-anything && npm run fetch:depth-pro && npm run fetch:face-landmarker && npm run fetch:anime-face-detector && npm run fetch:face-parsing && npm run fetch:wav2vec-phoneme-ctc && npm run fetch:supertonic-3",
|
|
119
121
|
"locations": "npm run catalogue:locations && npm run build:locations",
|
|
120
122
|
"configure:cors": "node scripts/configure-r2-cors.mjs",
|
|
121
123
|
"verify:cors": "node scripts/verify-cdn-cors.mjs",
|