@voqalize/avatar 0.4.2 → 0.4.4
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/LICENSE-APACHE-2.0 +201 -0
- package/README.md +11 -98
- package/assets/README.md +28 -17
- package/assets/tanvi.glb +0 -0
- package/assets/tanya.glb +0 -0
- package/assets/tara.glb +0 -0
- package/assets/tess.glb +0 -0
- package/assets/tushar.glb +0 -0
- package/client/internal.ts +4 -0
- package/client/supports.ts +6 -7
- package/client/three/assets.ts +2 -0
- package/client/three/budgets.ts +1 -1
- package/client/three/{tara-rig.ts → character-rig.ts} +708 -547
- package/client/three/createCharacter.ts +109 -0
- package/client/three/holds.ts +1 -1
- package/client/three/internal.ts +4 -3
- package/client/three/motion-limits.json +5 -1
- package/client/three/tanvi-asset.ts +6 -0
- package/client/three/tanvi.ts +30 -0
- package/client/three/tanya.ts +18 -58
- package/client/three/tara.ts +19 -60
- package/client/three/tess.ts +17 -59
- package/client/three/tushar.ts +18 -55
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -1
- package/dist/internal.js.map +1 -1
- package/dist/supports.d.ts +6 -7
- package/dist/supports.d.ts.map +1 -1
- package/dist/supports.js +6 -7
- package/dist/supports.js.map +1 -1
- package/dist/three/assets.d.ts +1 -0
- package/dist/three/assets.d.ts.map +1 -1
- package/dist/three/assets.js +2 -0
- package/dist/three/assets.js.map +1 -1
- package/dist/three/budgets.d.ts +1 -1
- package/dist/three/budgets.js +1 -1
- package/dist/three/character-rig.d.ts +366 -0
- package/dist/three/character-rig.d.ts.map +1 -0
- package/dist/three/{tara-rig.js → character-rig.js} +664 -525
- package/dist/three/character-rig.js.map +1 -0
- package/dist/three/createCharacter.d.ts +60 -0
- package/dist/three/createCharacter.d.ts.map +1 -0
- package/dist/three/createCharacter.js +84 -0
- package/dist/three/createCharacter.js.map +1 -0
- package/dist/three/holds.js +1 -1
- package/dist/three/holds.js.map +1 -1
- package/dist/three/internal.d.ts +3 -3
- package/dist/three/internal.d.ts.map +1 -1
- package/dist/three/internal.js +2 -2
- package/dist/three/internal.js.map +1 -1
- package/dist/three/motion-limits.json +5 -1
- package/dist/three/tanvi-asset.d.ts +7 -0
- package/dist/three/tanvi-asset.d.ts.map +1 -0
- package/dist/three/tanvi-asset.js +7 -0
- package/dist/three/tanvi-asset.js.map +1 -0
- package/dist/three/tanvi.d.ts +24 -0
- package/dist/three/tanvi.d.ts.map +1 -0
- package/dist/three/tanvi.js +24 -0
- package/dist/three/tanvi.js.map +1 -0
- package/dist/three/tanya.d.ts +16 -28
- package/dist/three/tanya.d.ts.map +1 -1
- package/dist/three/tanya.js +15 -43
- package/dist/three/tanya.js.map +1 -1
- package/dist/three/tara.d.ts +17 -22
- package/dist/three/tara.d.ts.map +1 -1
- package/dist/three/tara.js +16 -45
- package/dist/three/tara.js.map +1 -1
- package/dist/three/tess.d.ts +15 -29
- package/dist/three/tess.d.ts.map +1 -1
- package/dist/three/tess.js +14 -44
- package/dist/three/tess.js.map +1 -1
- package/dist/three/tushar.d.ts +16 -25
- package/dist/three/tushar.d.ts.map +1 -1
- package/dist/three/tushar.js +15 -40
- package/dist/three/tushar.js.map +1 -1
- package/package.json +7 -50
- package/src/avatar.d.ts +2 -0
- package/src/avatar.js +99 -220
- package/src/gaze.js +1 -3
- package/src/idle.js +10 -2
- package/src/prosody.js +7 -3
- package/src/speech-timing.js +28 -0
- package/src/visemes.js +107 -13
- package/client/arjun.ts +0 -26
- package/client/createCanvasAvatar.ts +0 -72
- package/client/interviewer-female.ts +0 -4
- package/client/interviewer-male.ts +0 -4
- package/client/ishita.ts +0 -26
- package/client/kabir.ts +0 -26
- package/client/meera.ts +0 -26
- package/client/naina.ts +0 -26
- package/client/professional-female-a.ts +0 -4
- package/client/professional-female-b.ts +0 -4
- package/client/professional-male-a.ts +0 -4
- package/client/professional-male-b.ts +0 -4
- package/client/vikram.ts +0 -26
- package/dist/arjun.d.ts +0 -7
- package/dist/arjun.d.ts.map +0 -1
- package/dist/arjun.js +0 -20
- package/dist/arjun.js.map +0 -1
- package/dist/createCanvasAvatar.d.ts +0 -22
- package/dist/createCanvasAvatar.d.ts.map +0 -1
- package/dist/createCanvasAvatar.js +0 -47
- package/dist/createCanvasAvatar.js.map +0 -1
- package/dist/interviewer-female.d.ts +0 -4
- package/dist/interviewer-female.d.ts.map +0 -1
- package/dist/interviewer-female.js +0 -3
- package/dist/interviewer-female.js.map +0 -1
- package/dist/interviewer-male.d.ts +0 -4
- package/dist/interviewer-male.d.ts.map +0 -1
- package/dist/interviewer-male.js +0 -3
- package/dist/interviewer-male.js.map +0 -1
- package/dist/ishita.d.ts +0 -7
- package/dist/ishita.d.ts.map +0 -1
- package/dist/ishita.js +0 -20
- package/dist/ishita.js.map +0 -1
- package/dist/kabir.d.ts +0 -7
- package/dist/kabir.d.ts.map +0 -1
- package/dist/kabir.js +0 -20
- package/dist/kabir.js.map +0 -1
- package/dist/meera.d.ts +0 -7
- package/dist/meera.d.ts.map +0 -1
- package/dist/meera.js +0 -20
- package/dist/meera.js.map +0 -1
- package/dist/naina.d.ts +0 -7
- package/dist/naina.d.ts.map +0 -1
- package/dist/naina.js +0 -20
- package/dist/naina.js.map +0 -1
- package/dist/professional-female-a.d.ts +0 -4
- package/dist/professional-female-a.d.ts.map +0 -1
- package/dist/professional-female-a.js +0 -3
- package/dist/professional-female-a.js.map +0 -1
- package/dist/professional-female-b.d.ts +0 -4
- package/dist/professional-female-b.d.ts.map +0 -1
- package/dist/professional-female-b.js +0 -3
- package/dist/professional-female-b.js.map +0 -1
- package/dist/professional-male-a.d.ts +0 -4
- package/dist/professional-male-a.d.ts.map +0 -1
- package/dist/professional-male-a.js +0 -3
- package/dist/professional-male-a.js.map +0 -1
- package/dist/professional-male-b.d.ts +0 -4
- package/dist/professional-male-b.d.ts.map +0 -1
- package/dist/professional-male-b.js +0 -3
- package/dist/professional-male-b.js.map +0 -1
- package/dist/three/tara-rig.d.ts +0 -423
- package/dist/three/tara-rig.d.ts.map +0 -1
- package/dist/three/tara-rig.js.map +0 -1
- package/dist/vikram.d.ts +0 -7
- package/dist/vikram.d.ts.map +0 -1
- package/dist/vikram.js +0 -20
- package/dist/vikram.js.map +0 -1
- package/src/canvas/author/parts/eye.mjs +0 -722
- package/src/canvas/author/parts/hand.mjs +0 -1156
- package/src/canvas/author/parts/mouth.mjs +0 -741
- package/src/canvas/author/parts/nose.mjs +0 -100
- package/src/canvas/author/parts/skin-detail.mjs +0 -67
- package/src/canvas/author/path.mjs +0 -283
- package/src/canvas/author/rig.mjs +0 -405
- package/src/canvas/avatars/round/face.d.mts +0 -3
- package/src/canvas/avatars/round/face.mjs +0 -1307
- package/src/canvas/create-rig.d.ts +0 -15
- package/src/canvas/create-rig.js +0 -100
- package/src/canvas/data/img/professional-female-a-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-female-a-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-female-a-top-body.webp +0 -0
- package/src/canvas/data/img/professional-female-b-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-female-b-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-female-b-top-body.webp +0 -0
- package/src/canvas/data/img/professional-male-a-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-male-a-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-male-a-top-body.webp +0 -0
- package/src/canvas/data/img/professional-male-b-hair-back.webp +0 -0
- package/src/canvas/data/img/professional-male-b-hair-front.webp +0 -0
- package/src/canvas/data/img/professional-male-b-top-body.webp +0 -0
- package/src/canvas/data/img/round-m3-hair-back.webp +0 -0
- package/src/canvas/data/img/round-m3-hair-front.webp +0 -0
- package/src/canvas/data/img/round-m3-top-body.webp +0 -0
- package/src/canvas/data/img/round-w1-hair-back.webp +0 -0
- package/src/canvas/data/img/round-w1-hair-front.webp +0 -0
- package/src/canvas/data/img/round-w1-top-body.webp +0 -0
- package/src/canvas/data/interviewer-female.rig.json +0 -1
- package/src/canvas/data/interviewer-male.rig.json +0 -1
- package/src/canvas/data/professional-female-a.rig.json +0 -1
- package/src/canvas/data/professional-female-b.rig.json +0 -1
- package/src/canvas/data/professional-male-a.rig.json +0 -1
- package/src/canvas/data/professional-male-b.rig.json +0 -1
- package/src/canvas/src/live.js +0 -508
- package/src/canvas/src/render2d.js +0 -218
- package/src/canvas/src/rig.js +0 -297
- package/src/canvas/src/vocab.js +0 -96
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"character-rig.js","sourceRoot":"","sources":["../../client/three/character-rig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `createCharacter` — the Blender characters' entry point, and the other end of
|
|
3
|
+
* the fork agreed on 2026-09-17 (*"Aligned that we fork"*).
|
|
4
|
+
*
|
|
5
|
+
* There are two `createAvatar` implementations in this package now, not one
|
|
6
|
+
* with a branch in it. `client/createAvatar.ts` mounts a drawing: a `Face`
|
|
7
|
+
* record, a theme, the frame-edge hand. This one mounts a compiled head: a GLB
|
|
8
|
+
* url, the shared rig, the house performance. They are separate because almost
|
|
9
|
+
* every option the second one passes exists to *undo* something the first one
|
|
10
|
+
* assumes — no hand, no theme, clips whose keys are degrees rather than ink —
|
|
11
|
+
* and threading one more per-avatar option through a shared entry point is the
|
|
12
|
+
* smell rather than the fix.
|
|
13
|
+
*
|
|
14
|
+
* **What is not forked is the mixer.** Both entry points resolve their options
|
|
15
|
+
* and hand them to the same `createSvgAvatar`, which still does states, layers,
|
|
16
|
+
* gaze, idle, blinks, clips and per-channel smoothing for every face in the
|
|
17
|
+
* package. Forking *that* would give two copies of the smoothing law, and the
|
|
18
|
+
* smoothing law is the thing a clip's keyframes are authored against
|
|
19
|
+
* (docs/internal-mixer.md § Smoothing) — two copies of it drift, and the drift
|
|
20
|
+
* is invisible until a nod reads wrong on one character only.
|
|
21
|
+
*
|
|
22
|
+
* A character module is therefore its GLB and its name:
|
|
23
|
+
*
|
|
24
|
+
* export const supports = BLENDER_SUPPORTS;
|
|
25
|
+
* export const createAvatar = character("tara", TARA_GLB);
|
|
26
|
+
*
|
|
27
|
+
* and everything else about how a Blender character is driven is here, once.
|
|
28
|
+
*/
|
|
29
|
+
import type { AvatarFactory, AvatarInstance, AvatarOptions } from "../createAvatar.js";
|
|
30
|
+
import { headHold } from "./holds.js";
|
|
31
|
+
/**
|
|
32
|
+
* What every Blender character takes — the two options every avatar shares,
|
|
33
|
+
* plus the three gains.
|
|
34
|
+
*
|
|
35
|
+
* There is no `face`, no `theme` and no `hand`: a compiled character is one
|
|
36
|
+
* drawing with one palette baked into its atlas, and it has no arms. There is
|
|
37
|
+
* no `url` either, because the character *is* the module you imported.
|
|
38
|
+
*/
|
|
39
|
+
export interface CharacterAvatarOptions extends AvatarOptions {
|
|
40
|
+
/** Viseme amplitude, 0..2. `1` is as authored. */
|
|
41
|
+
readonly mouthGain?: number;
|
|
42
|
+
/** Gesture-clip amplitude, 0..2. */
|
|
43
|
+
readonly gestureGain?: number;
|
|
44
|
+
/** Idle/liveness amplitude, 0..2. */
|
|
45
|
+
readonly motionGain?: number;
|
|
46
|
+
/** Fires when the GLB is in the scene — for a capture tool, not a consumer. */
|
|
47
|
+
readonly onReady?: () => void;
|
|
48
|
+
}
|
|
49
|
+
export type { AvatarInstance };
|
|
50
|
+
/**
|
|
51
|
+
* One Blender character's `createAvatar`, bound to its name and its mesh.
|
|
52
|
+
*
|
|
53
|
+
* `name` is not a lookup key — nothing resolves a character by it and there is
|
|
54
|
+
* no table to miss. It selects this face's row in `motion-limits.json`, which
|
|
55
|
+
* is the one per-character fact that is neither in the GLB nor in the rig:
|
|
56
|
+
* the angles a person read off the face by eye, which no build can derive
|
|
57
|
+
* (`holds.ts`).
|
|
58
|
+
*/
|
|
59
|
+
export declare function character(name: Parameters<typeof headHold>[0], url: string): AvatarFactory<CharacterAvatarOptions>;
|
|
60
|
+
//# sourceMappingURL=createCharacter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCharacter.d.ts","sourceRoot":"","sources":["../../client/three/createCharacter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GACvE,aAAa,CAAC,sBAAsB,CAAC,CAwCxC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `createCharacter` — the Blender characters' entry point, and the other end of
|
|
3
|
+
* the fork agreed on 2026-09-17 (*"Aligned that we fork"*).
|
|
4
|
+
*
|
|
5
|
+
* There are two `createAvatar` implementations in this package now, not one
|
|
6
|
+
* with a branch in it. `client/createAvatar.ts` mounts a drawing: a `Face`
|
|
7
|
+
* record, a theme, the frame-edge hand. This one mounts a compiled head: a GLB
|
|
8
|
+
* url, the shared rig, the house performance. They are separate because almost
|
|
9
|
+
* every option the second one passes exists to *undo* something the first one
|
|
10
|
+
* assumes — no hand, no theme, clips whose keys are degrees rather than ink —
|
|
11
|
+
* and threading one more per-avatar option through a shared entry point is the
|
|
12
|
+
* smell rather than the fix.
|
|
13
|
+
*
|
|
14
|
+
* **What is not forked is the mixer.** Both entry points resolve their options
|
|
15
|
+
* and hand them to the same `createSvgAvatar`, which still does states, layers,
|
|
16
|
+
* gaze, idle, blinks, clips and per-channel smoothing for every face in the
|
|
17
|
+
* package. Forking *that* would give two copies of the smoothing law, and the
|
|
18
|
+
* smoothing law is the thing a clip's keyframes are authored against
|
|
19
|
+
* (docs/internal-mixer.md § Smoothing) — two copies of it drift, and the drift
|
|
20
|
+
* is invisible until a nod reads wrong on one character only.
|
|
21
|
+
*
|
|
22
|
+
* A character module is therefore its GLB and its name:
|
|
23
|
+
*
|
|
24
|
+
* export const supports = BLENDER_SUPPORTS;
|
|
25
|
+
* export const createAvatar = character("tara", TARA_GLB);
|
|
26
|
+
*
|
|
27
|
+
* and everything else about how a Blender character is driven is here, once.
|
|
28
|
+
*/
|
|
29
|
+
import { AvatarClient, createSvgAvatar } from "../internal.js";
|
|
30
|
+
import { BLENDER_ACTIONS, BLENDER_SEQUENCES } from "./sequences.js";
|
|
31
|
+
import { headHold } from "./holds.js";
|
|
32
|
+
import { createCharacterRig, CHARACTER_TUNING } from "./character-rig.js";
|
|
33
|
+
/**
|
|
34
|
+
* One Blender character's `createAvatar`, bound to its name and its mesh.
|
|
35
|
+
*
|
|
36
|
+
* `name` is not a lookup key — nothing resolves a character by it and there is
|
|
37
|
+
* no table to miss. It selects this face's row in `motion-limits.json`, which
|
|
38
|
+
* is the one per-character fact that is neither in the GLB nor in the rig:
|
|
39
|
+
* the angles a person read off the face by eye, which no build can derive
|
|
40
|
+
* (`holds.ts`).
|
|
41
|
+
*/
|
|
42
|
+
export function character(name, url) {
|
|
43
|
+
const hold = headHold(name);
|
|
44
|
+
return function createAvatar(options) {
|
|
45
|
+
const { mount, client, onReady, ...gains } = options;
|
|
46
|
+
if (!mount)
|
|
47
|
+
throw new TypeError("createAvatar: `mount` is required");
|
|
48
|
+
if (!client)
|
|
49
|
+
throw new TypeError("createAvatar: `client` is required");
|
|
50
|
+
const rigOptions = { onReady, url };
|
|
51
|
+
// `hand: false` disables the bundled SVG hand renderer only; the semantic
|
|
52
|
+
// hand frame still reaches the rig, which ignores it — these characters
|
|
53
|
+
// have no arms, and that is the library's oldest standing constraint
|
|
54
|
+
// rather than an omission.
|
|
55
|
+
//
|
|
56
|
+
// `sequences` is what a server can address on a Blender character beyond
|
|
57
|
+
// the two ids every avatar owes it — the three nod types the listening
|
|
58
|
+
// research separates, and a head shake sized for a rig whose pose unit is
|
|
59
|
+
// a degree. The wire's action id is open, so nothing here needed
|
|
60
|
+
// promoting: a server that does not know which face is mounted sends
|
|
61
|
+
// `ACKNOWLEDGE` and is never wrong. `actions` is the other half, the
|
|
62
|
+
// Blender shape for an id the mixer already has, whose shared keys land
|
|
63
|
+
// outside what they mean on a head that turns in degrees.
|
|
64
|
+
const widget = createSvgAvatar({
|
|
65
|
+
mount, rig: createCharacterRig, rigOptions, hand: false,
|
|
66
|
+
sequences: BLENDER_SEQUENCES, actions: BLENDER_ACTIONS, ...CHARACTER_TUNING,
|
|
67
|
+
headHold: hold, ...gains,
|
|
68
|
+
});
|
|
69
|
+
const driver = new AvatarClient(widget);
|
|
70
|
+
const detach = driver.attach(client);
|
|
71
|
+
let destroyed = false;
|
|
72
|
+
return {
|
|
73
|
+
destroy() {
|
|
74
|
+
if (destroyed)
|
|
75
|
+
return;
|
|
76
|
+
destroyed = true;
|
|
77
|
+
detach();
|
|
78
|
+
driver.destroy();
|
|
79
|
+
widget.destroy();
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=createCharacter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCharacter.js","sourceRoot":"","sources":["../../client/three/createCharacter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAwB1E;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,IAAoC,EAAE,GAAW;IAEzE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,SAAS,YAAY,CAAC,OAA+B;QAC1D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAEvE,MAAM,UAAU,GAAwB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACzD,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,2BAA2B;QAC3B,EAAE;QACF,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,iEAAiE;QACjE,qEAAqE;QACrE,qEAAqE;QACrE,wEAAwE;QACxE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,eAAe,CAAC;YAC7B,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;YACvD,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,gBAAgB;YAC3E,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO;YACL,OAAO;gBACL,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/three/holds.js
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* trims it.
|
|
26
26
|
*/
|
|
27
27
|
import LIMITS from "./motion-limits.json" with { type: "json" };
|
|
28
|
-
import { HEAD_CLAMP, HEAD_DEG } from "./
|
|
28
|
+
import { HEAD_CLAMP, HEAD_DEG } from "./character-rig.js";
|
|
29
29
|
/** Degrees of each axis per pose unit, which is `HEAD_DEG` at the clamp. */
|
|
30
30
|
const PER_UNIT = {
|
|
31
31
|
headYaw: HEAD_DEG.yaw / HEAD_CLAMP,
|
package/dist/three/holds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holds.js","sourceRoot":"","sources":["../../client/three/holds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,MAAM,MAAM,sBAAsB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"holds.js","sourceRoot":"","sources":["../../client/three/holds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,MAAM,MAAM,sBAAsB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE1D,4EAA4E;AAC5E,MAAM,QAAQ,GAAG;IACf,OAAO,EAAE,QAAQ,CAAC,GAAG,GAAG,UAAU;IAClC,SAAS,EAAE,QAAQ,CAAC,KAAK,GAAG,UAAU;IACtC,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,UAAU;CAC5B,CAAC;AAEX,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAW,CAAC;AAM/E,+EAA+E;AAC/E,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,EAAwB,EAAE;IAChE,MAAM,QAAQ,GAAI,MAAM,CAAC,UAAsD,CAAC,IAAI,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAyB,CAAC;IACvD,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC,CAAC;AAEF,0EAA0E;AAC1E,SAAS,MAAM,CAAC,IAAY;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;SAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;SACrC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;qEACqE;AACrE,MAAM,UAAU,QAAQ,CAAC,IAAoC;IAC3D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAA0B,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,SAAS;YAAE,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/three/internal.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The 2.5-D rig, below the `createAvatar` modules — `/internal`, no semver promise.
|
|
3
3
|
*
|
|
4
|
-
* A character's own module — `tara.ts`, `tushar.ts`, `tanya.ts`, `tess.ts` — is
|
|
4
|
+
* A character's own module — `tara.ts`, `tushar.ts`, `tanya.ts`, `tess.ts`, `tanvi.ts` — is
|
|
5
5
|
* what a consumer gets: one `createAvatar` each, the mixer behind it, nothing to
|
|
6
6
|
* configure. This is the other door, for a page whose subject is the *rig*
|
|
7
7
|
* rather than the call — the renderer with no mixer in front of it, every
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
*/
|
|
18
18
|
export { ASSETS as CHARACTERS } from "./assets.js";
|
|
19
19
|
export type { CharacterName } from "./assets.js";
|
|
20
|
-
export {
|
|
21
|
-
export type {
|
|
20
|
+
export { createCharacterRig, EYE_DEG, HEAD_CLAMP, HEAD_DEG, CHARACTER_TUNING, HEAD_PARTS, PIVOT, ROLL_PIVOT } from "./character-rig.js";
|
|
21
|
+
export type { CharacterRigOptions } from "./character-rig.js";
|
|
22
22
|
export { HARD_BUDGET, pixelRatioFor, SHIPPING_SURFACE } from "./budgets.js";
|
|
23
23
|
/**
|
|
24
24
|
* The authored motion tables these characters are driven by.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../client/three/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../client/three/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAC1E,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5E;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtF;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAuB"}
|
package/dist/three/internal.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The 2.5-D rig, below the `createAvatar` modules — `/internal`, no semver promise.
|
|
3
3
|
*
|
|
4
|
-
* A character's own module — `tara.ts`, `tushar.ts`, `tanya.ts`, `tess.ts` — is
|
|
4
|
+
* A character's own module — `tara.ts`, `tushar.ts`, `tanya.ts`, `tess.ts`, `tanvi.ts` — is
|
|
5
5
|
* what a consumer gets: one `createAvatar` each, the mixer behind it, nothing to
|
|
6
6
|
* configure. This is the other door, for a page whose subject is the *rig*
|
|
7
7
|
* rather than the call — the renderer with no mixer in front of it, every
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* the mixer.
|
|
17
17
|
*/
|
|
18
18
|
export { ASSETS as CHARACTERS } from "./assets.js";
|
|
19
|
-
export {
|
|
19
|
+
export { createCharacterRig, EYE_DEG, HEAD_CLAMP, HEAD_DEG, CHARACTER_TUNING, HEAD_PARTS, PIVOT, ROLL_PIVOT } from "./character-rig.js";
|
|
20
20
|
export { HARD_BUDGET, pixelRatioFor, SHIPPING_SURFACE } from "./budgets.js";
|
|
21
21
|
/**
|
|
22
22
|
* The authored motion tables these characters are driven by.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../client/three/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../client/three/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAC1E,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5E;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtF;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"what": "How far each character may HOLD its head off centre, in degrees, measured by eye. A sustained pose is the strict case and this is the strict number: past it a static turn stops reading as a head that turned, because the eye behind a flat projection never foreshortens. `holds.ts` converts these into the mixer's pose units and `test/three/presence.test.ts` gates LISTENING and SPEAKING against them.",
|
|
3
|
-
"versus": "This is not `HEAD_DEG` and is much smaller than it. `HEAD_DEG` (
|
|
3
|
+
"versus": "This is not `HEAD_DEG` and is much smaller than it. `HEAD_DEG` (character-rig.ts) is the envelope any motion may REACH — set by where the projection itself tears, which a rendered ladder put past 21 degrees of yaw on tara. A transient that returns is forgiven what a held pose is not, so a nod may pass through an angle this file will not let the head sit at.",
|
|
4
4
|
"units": "degrees from rest, either side, per axis driven alone from rest",
|
|
5
5
|
"surface": {
|
|
6
6
|
"cssWidth": 400,
|
|
@@ -114,6 +114,10 @@
|
|
|
114
114
|
"tess": {
|
|
115
115
|
"unmeasured": "Nothing here has been read off her. She was built on 2026-09-20 and the owner has not driven her yet, so this entry carries no angle at all rather than a plausible one: `holds.ts` falls back to the tightest angle still live on each axis, which is the budget the faces nobody doubts are already held to. Drive her with the hold-and-move instrument and this becomes the same shape as the entries above.",
|
|
116
116
|
"defects": []
|
|
117
|
+
},
|
|
118
|
+
"tanvi": {
|
|
119
|
+
"unmeasured": "Nothing here has been read off her. She was built on 2026-09-23 and the owner has not driven her yet, so this entry carries no angle at all rather than a plausible one: `holds.ts` falls back to the tightest angle still live on each axis. Drive her with the hold-and-move instrument and this becomes the same shape as the entries above.",
|
|
120
|
+
"defects": []
|
|
117
121
|
}
|
|
118
122
|
},
|
|
119
123
|
"remeasure": "An axis carrying `remeasure` was measured on an asset that has since changed. It stays as written — a measurement is not edited by someone who did not make it — and a gate skips it and says so."
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where tanvi's compiled GLB is. One character, one module — see
|
|
3
|
+
* [tara-asset.ts](./tara-asset.ts) for why that separation is load-bearing and
|
|
4
|
+
* why the `new URL` literal is spelled exactly this way.
|
|
5
|
+
*/
|
|
6
|
+
export declare const TANVI_GLB: string;
|
|
7
|
+
//# sourceMappingURL=tanvi-asset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tanvi-asset.d.ts","sourceRoot":"","sources":["../../client/three/tanvi-asset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAA0D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where tanvi's compiled GLB is. One character, one module — see
|
|
3
|
+
* [tara-asset.ts](./tara-asset.ts) for why that separation is load-bearing and
|
|
4
|
+
* why the `new URL` literal is spelled exactly this way.
|
|
5
|
+
*/
|
|
6
|
+
export const TANVI_GLB = new URL("../../assets/tanvi.glb", import.meta.url).href;
|
|
7
|
+
//# sourceMappingURL=tanvi-asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tanvi-asset.js","sourceRoot":"","sources":["../../client/three/tanvi-asset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tanvi — Indian, and the first character whose hair is not part of her head.
|
|
3
|
+
*
|
|
4
|
+
* Her GLB is the shared scripts run with her landmarks (`characters/tanvi/`).
|
|
5
|
+
* Her long waves fall past both shoulders onto her chest, which a `Hair` shell
|
|
6
|
+
* painted into the head's atlas cannot carry: it can only be where the head is.
|
|
7
|
+
* So her photograph is split into her with the hair pulled back, which is what
|
|
8
|
+
* every other script reads, and the hair alone, which becomes a `HairLayer`
|
|
9
|
+
* mesh of its own — turning with the skull, holding back its share of a roll
|
|
10
|
+
* like tanya's hanging hair, lifting with the shoulders below the chin, and
|
|
11
|
+
* drawn over everything behind it (`character-rig.ts`).
|
|
12
|
+
*
|
|
13
|
+
* Her head angles have not been read off her yet. `motion-limits.json` says so
|
|
14
|
+
* rather than guessing, and `headHold` gives her the tightest budget any face
|
|
15
|
+
* is still vouched for until the owner drives her.
|
|
16
|
+
*/
|
|
17
|
+
import type { CharacterAvatarOptions } from "./createCharacter.js";
|
|
18
|
+
export type { CharacterAvatarOptions as AvatarOptions };
|
|
19
|
+
export type { AvatarInstance } from "./createCharacter.js";
|
|
20
|
+
/** The optional driving-UI declaration; one list for every Blender character
|
|
21
|
+
* (`sequences.ts`), because they are one rig. */
|
|
22
|
+
export declare const supports: import("../createAvatar.js").AvatarSupport;
|
|
23
|
+
export declare const createAvatar: import("../createAvatar.js").AvatarFactory<CharacterAvatarOptions>;
|
|
24
|
+
//# sourceMappingURL=tanvi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tanvi.d.ts","sourceRoot":"","sources":["../../client/three/tanvi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAInE,YAAY,EAAE,sBAAsB,IAAI,aAAa,EAAE,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;kDACkD;AAClD,eAAO,MAAM,QAAQ,4CAAmB,CAAC;AAEzC,eAAO,MAAM,YAAY,oEAAgC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tanvi — Indian, and the first character whose hair is not part of her head.
|
|
3
|
+
*
|
|
4
|
+
* Her GLB is the shared scripts run with her landmarks (`characters/tanvi/`).
|
|
5
|
+
* Her long waves fall past both shoulders onto her chest, which a `Hair` shell
|
|
6
|
+
* painted into the head's atlas cannot carry: it can only be where the head is.
|
|
7
|
+
* So her photograph is split into her with the hair pulled back, which is what
|
|
8
|
+
* every other script reads, and the hair alone, which becomes a `HairLayer`
|
|
9
|
+
* mesh of its own — turning with the skull, holding back its share of a roll
|
|
10
|
+
* like tanya's hanging hair, lifting with the shoulders below the chin, and
|
|
11
|
+
* drawn over everything behind it (`character-rig.ts`).
|
|
12
|
+
*
|
|
13
|
+
* Her head angles have not been read off her yet. `motion-limits.json` says so
|
|
14
|
+
* rather than guessing, and `headHold` gives her the tightest budget any face
|
|
15
|
+
* is still vouched for until the owner drives her.
|
|
16
|
+
*/
|
|
17
|
+
import { character } from "./createCharacter.js";
|
|
18
|
+
import { BLENDER_SUPPORTS } from "./sequences.js";
|
|
19
|
+
import { TANVI_GLB } from "./tanvi-asset.js";
|
|
20
|
+
/** The optional driving-UI declaration; one list for every Blender character
|
|
21
|
+
* (`sequences.ts`), because they are one rig. */
|
|
22
|
+
export const supports = BLENDER_SUPPORTS;
|
|
23
|
+
export const createAvatar = character("tanvi", TANVI_GLB);
|
|
24
|
+
//# sourceMappingURL=tanvi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tanvi.js","sourceRoot":"","sources":["../../client/three/tanvi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C;kDACkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC"}
|
package/dist/three/tanya.d.ts
CHANGED
|
@@ -1,35 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tanya — the third 3-D character, and
|
|
2
|
+
* tanya — the third 3-D character, and the first whose atlas is not tara's
|
|
3
|
+
* window.
|
|
3
4
|
*
|
|
4
|
-
* Her GLB is
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Her GLB is the shared scripts run with her landmarks and atlas layout
|
|
6
|
+
* (`characters/tanya/`, whose README has the provenance and the commands).
|
|
7
|
+
* Her hair is the silhouette down past the jaw, out to |u| 0.761 where tara's
|
|
8
|
+
* window stops at 0.64, so `characters/tanya/face_texture.py` widens it to
|
|
9
|
+
* 1408x1568 at the same 800 pixels per face height. That is a fact about the
|
|
10
|
+
* asset and costs this file nothing — the rig reads the window from the GLB.
|
|
8
11
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* 800 pixels per face height. That is a fact about the asset and costs this file
|
|
13
|
-
* nothing — the rig reads the window from the GLB.
|
|
12
|
+
* Hair that hangs is what else makes her the third rather than a fourth copy:
|
|
13
|
+
* hers is the only `Hair` mesh that carries the roll channels, because it is
|
|
14
|
+
* the only one with anything below the hold line to lag behind a tilt.
|
|
14
15
|
*/
|
|
15
|
-
import type {
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/** Viseme amplitude, 0..2. `1` is as authored. */
|
|
20
|
-
readonly mouthGain?: number;
|
|
21
|
-
/** Gesture-clip amplitude, 0..2. */
|
|
22
|
-
readonly gestureGain?: number;
|
|
23
|
-
/** Idle/liveness amplitude, 0..2. */
|
|
24
|
-
readonly motionGain?: number;
|
|
25
|
-
/** Fires when the GLB is in the scene — for a capture tool, not a consumer. */
|
|
26
|
-
readonly onReady?: () => void;
|
|
27
|
-
}
|
|
28
|
-
export interface AvatarInstance {
|
|
29
|
-
destroy(): void;
|
|
30
|
-
}
|
|
31
|
-
/** The optional driving-UI declaration; one list for all three characters
|
|
16
|
+
import type { CharacterAvatarOptions } from "./createCharacter.js";
|
|
17
|
+
export type { CharacterAvatarOptions as AvatarOptions };
|
|
18
|
+
export type { AvatarInstance } from "./createCharacter.js";
|
|
19
|
+
/** The optional driving-UI declaration; one list for every Blender character
|
|
32
20
|
* (`sequences.ts`), because they are one rig. */
|
|
33
21
|
export declare const supports: import("../createAvatar.js").AvatarSupport;
|
|
34
|
-
export declare
|
|
22
|
+
export declare const createAvatar: import("../createAvatar.js").AvatarFactory<CharacterAvatarOptions>;
|
|
35
23
|
//# sourceMappingURL=tanya.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanya.d.ts","sourceRoot":"","sources":["../../client/three/tanya.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tanya.d.ts","sourceRoot":"","sources":["../../client/three/tanya.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAInE,YAAY,EAAE,sBAAsB,IAAI,aAAa,EAAE,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;kDACkD;AAClD,eAAO,MAAM,QAAQ,4CAAmB,CAAC;AAEzC,eAAO,MAAM,YAAY,oEAAgC,CAAC"}
|
package/dist/three/tanya.js
CHANGED
|
@@ -1,51 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tanya — the third 3-D character, and
|
|
2
|
+
* tanya — the third 3-D character, and the first whose atlas is not tara's
|
|
3
|
+
* window.
|
|
3
4
|
*
|
|
4
|
-
* Her GLB is
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Her GLB is the shared scripts run with her landmarks and atlas layout
|
|
6
|
+
* (`characters/tanya/`, whose README has the provenance and the commands).
|
|
7
|
+
* Her hair is the silhouette down past the jaw, out to |u| 0.761 where tara's
|
|
8
|
+
* window stops at 0.64, so `characters/tanya/face_texture.py` widens it to
|
|
9
|
+
* 1408x1568 at the same 800 pixels per face height. That is a fact about the
|
|
10
|
+
* asset and costs this file nothing — the rig reads the window from the GLB.
|
|
8
11
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* 800 pixels per face height. That is a fact about the asset and costs this file
|
|
13
|
-
* nothing — the rig reads the window from the GLB.
|
|
12
|
+
* Hair that hangs is what else makes her the third rather than a fourth copy:
|
|
13
|
+
* hers is the only `Hair` mesh that carries the roll channels, because it is
|
|
14
|
+
* the only one with anything below the hold line to lag behind a tilt.
|
|
14
15
|
*/
|
|
15
|
-
import {
|
|
16
|
+
import { character } from "./createCharacter.js";
|
|
17
|
+
import { BLENDER_SUPPORTS } from "./sequences.js";
|
|
16
18
|
import { TANYA_GLB } from "./tanya-asset.js";
|
|
17
|
-
|
|
18
|
-
import { headHold } from "./holds.js";
|
|
19
|
-
import { createTaraRig, TARA_TUNING } from "./tara-rig.js";
|
|
20
|
-
/** The optional driving-UI declaration; one list for all three characters
|
|
19
|
+
/** The optional driving-UI declaration; one list for every Blender character
|
|
21
20
|
* (`sequences.ts`), because they are one rig. */
|
|
22
21
|
export const supports = BLENDER_SUPPORTS;
|
|
23
|
-
export
|
|
24
|
-
const { mount, client, onReady, ...gains } = options;
|
|
25
|
-
if (!mount)
|
|
26
|
-
throw new TypeError("createAvatar: `mount` is required");
|
|
27
|
-
if (!client)
|
|
28
|
-
throw new TypeError("createAvatar: `client` is required");
|
|
29
|
-
const rigOptions = { onReady, url: TANYA_GLB };
|
|
30
|
-
// TARA-SPECIFIC, kept on purpose: `TARA_TUNING` (her mouth and motion gains)
|
|
31
|
-
// is the first thing to question if she reads wrong in a call.
|
|
32
|
-
const widget = createSvgAvatar({
|
|
33
|
-
mount, rig: createTaraRig, rigOptions, hand: false,
|
|
34
|
-
sequences: BLENDER_SEQUENCES, actions: BLENDER_ACTIONS, ...TARA_TUNING,
|
|
35
|
-
headHold: headHold("tanya"), ...gains,
|
|
36
|
-
});
|
|
37
|
-
const driver = new AvatarClient(widget);
|
|
38
|
-
const detach = driver.attach(client);
|
|
39
|
-
let destroyed = false;
|
|
40
|
-
return {
|
|
41
|
-
destroy() {
|
|
42
|
-
if (destroyed)
|
|
43
|
-
return;
|
|
44
|
-
destroyed = true;
|
|
45
|
-
detach();
|
|
46
|
-
driver.destroy();
|
|
47
|
-
widget.destroy();
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
22
|
+
export const createAvatar = character("tanya", TANYA_GLB);
|
|
51
23
|
//# sourceMappingURL=tanya.js.map
|
package/dist/three/tanya.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanya.js","sourceRoot":"","sources":["../../client/three/tanya.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tanya.js","sourceRoot":"","sources":["../../client/three/tanya.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C;kDACkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC"}
|