@voqalize/avatar 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/README.md +11 -98
  3. package/assets/README.md +28 -17
  4. package/assets/tanvi.glb +0 -0
  5. package/assets/tanya.glb +0 -0
  6. package/assets/tara.glb +0 -0
  7. package/assets/tess.glb +0 -0
  8. package/assets/tushar.glb +0 -0
  9. package/client/internal.ts +4 -0
  10. package/client/supports.ts +6 -7
  11. package/client/three/assets.ts +2 -0
  12. package/client/three/budgets.ts +1 -1
  13. package/client/three/{tara-rig.ts → character-rig.ts} +673 -545
  14. package/client/three/createCharacter.ts +109 -0
  15. package/client/three/holds.ts +1 -1
  16. package/client/three/internal.ts +4 -3
  17. package/client/three/motion-limits.json +5 -1
  18. package/client/three/tanvi-asset.ts +6 -0
  19. package/client/three/tanvi.ts +30 -0
  20. package/client/three/tanya.ts +18 -58
  21. package/client/three/tara.ts +19 -60
  22. package/client/three/tess.ts +17 -59
  23. package/client/three/tushar.ts +18 -55
  24. package/dist/internal.d.ts +1 -1
  25. package/dist/internal.d.ts.map +1 -1
  26. package/dist/internal.js +5 -1
  27. package/dist/internal.js.map +1 -1
  28. package/dist/supports.d.ts +6 -7
  29. package/dist/supports.d.ts.map +1 -1
  30. package/dist/supports.js +6 -7
  31. package/dist/supports.js.map +1 -1
  32. package/dist/three/assets.d.ts +1 -0
  33. package/dist/three/assets.d.ts.map +1 -1
  34. package/dist/three/assets.js +2 -0
  35. package/dist/three/assets.js.map +1 -1
  36. package/dist/three/budgets.d.ts +1 -1
  37. package/dist/three/budgets.js +1 -1
  38. package/dist/three/character-rig.d.ts +366 -0
  39. package/dist/three/character-rig.d.ts.map +1 -0
  40. package/dist/three/{tara-rig.js → character-rig.js} +629 -523
  41. package/dist/three/character-rig.js.map +1 -0
  42. package/dist/three/createCharacter.d.ts +60 -0
  43. package/dist/three/createCharacter.d.ts.map +1 -0
  44. package/dist/three/createCharacter.js +84 -0
  45. package/dist/three/createCharacter.js.map +1 -0
  46. package/dist/three/holds.js +1 -1
  47. package/dist/three/holds.js.map +1 -1
  48. package/dist/three/internal.d.ts +3 -3
  49. package/dist/three/internal.d.ts.map +1 -1
  50. package/dist/three/internal.js +2 -2
  51. package/dist/three/internal.js.map +1 -1
  52. package/dist/three/motion-limits.json +5 -1
  53. package/dist/three/tanvi-asset.d.ts +7 -0
  54. package/dist/three/tanvi-asset.d.ts.map +1 -0
  55. package/dist/three/tanvi-asset.js +7 -0
  56. package/dist/three/tanvi-asset.js.map +1 -0
  57. package/dist/three/tanvi.d.ts +24 -0
  58. package/dist/three/tanvi.d.ts.map +1 -0
  59. package/dist/three/tanvi.js +24 -0
  60. package/dist/three/tanvi.js.map +1 -0
  61. package/dist/three/tanya.d.ts +16 -28
  62. package/dist/three/tanya.d.ts.map +1 -1
  63. package/dist/three/tanya.js +15 -43
  64. package/dist/three/tanya.js.map +1 -1
  65. package/dist/three/tara.d.ts +17 -22
  66. package/dist/three/tara.d.ts.map +1 -1
  67. package/dist/three/tara.js +16 -45
  68. package/dist/three/tara.js.map +1 -1
  69. package/dist/three/tess.d.ts +15 -29
  70. package/dist/three/tess.d.ts.map +1 -1
  71. package/dist/three/tess.js +14 -44
  72. package/dist/three/tess.js.map +1 -1
  73. package/dist/three/tushar.d.ts +16 -25
  74. package/dist/three/tushar.d.ts.map +1 -1
  75. package/dist/three/tushar.js +15 -40
  76. package/dist/three/tushar.js.map +1 -1
  77. package/package.json +7 -50
  78. package/src/avatar.d.ts +2 -0
  79. package/src/avatar.js +87 -216
  80. package/src/gaze.js +1 -3
  81. package/src/idle.js +10 -2
  82. package/src/prosody.js +7 -3
  83. package/src/speech-timing.js +9 -0
  84. package/src/visemes.js +107 -13
  85. package/client/arjun.ts +0 -26
  86. package/client/createCanvasAvatar.ts +0 -72
  87. package/client/interviewer-female.ts +0 -4
  88. package/client/interviewer-male.ts +0 -4
  89. package/client/ishita.ts +0 -26
  90. package/client/kabir.ts +0 -26
  91. package/client/meera.ts +0 -26
  92. package/client/naina.ts +0 -26
  93. package/client/professional-female-a.ts +0 -4
  94. package/client/professional-female-b.ts +0 -4
  95. package/client/professional-male-a.ts +0 -4
  96. package/client/professional-male-b.ts +0 -4
  97. package/client/vikram.ts +0 -26
  98. package/dist/arjun.d.ts +0 -7
  99. package/dist/arjun.d.ts.map +0 -1
  100. package/dist/arjun.js +0 -20
  101. package/dist/arjun.js.map +0 -1
  102. package/dist/createCanvasAvatar.d.ts +0 -22
  103. package/dist/createCanvasAvatar.d.ts.map +0 -1
  104. package/dist/createCanvasAvatar.js +0 -47
  105. package/dist/createCanvasAvatar.js.map +0 -1
  106. package/dist/interviewer-female.d.ts +0 -4
  107. package/dist/interviewer-female.d.ts.map +0 -1
  108. package/dist/interviewer-female.js +0 -3
  109. package/dist/interviewer-female.js.map +0 -1
  110. package/dist/interviewer-male.d.ts +0 -4
  111. package/dist/interviewer-male.d.ts.map +0 -1
  112. package/dist/interviewer-male.js +0 -3
  113. package/dist/interviewer-male.js.map +0 -1
  114. package/dist/ishita.d.ts +0 -7
  115. package/dist/ishita.d.ts.map +0 -1
  116. package/dist/ishita.js +0 -20
  117. package/dist/ishita.js.map +0 -1
  118. package/dist/kabir.d.ts +0 -7
  119. package/dist/kabir.d.ts.map +0 -1
  120. package/dist/kabir.js +0 -20
  121. package/dist/kabir.js.map +0 -1
  122. package/dist/meera.d.ts +0 -7
  123. package/dist/meera.d.ts.map +0 -1
  124. package/dist/meera.js +0 -20
  125. package/dist/meera.js.map +0 -1
  126. package/dist/naina.d.ts +0 -7
  127. package/dist/naina.d.ts.map +0 -1
  128. package/dist/naina.js +0 -20
  129. package/dist/naina.js.map +0 -1
  130. package/dist/professional-female-a.d.ts +0 -4
  131. package/dist/professional-female-a.d.ts.map +0 -1
  132. package/dist/professional-female-a.js +0 -3
  133. package/dist/professional-female-a.js.map +0 -1
  134. package/dist/professional-female-b.d.ts +0 -4
  135. package/dist/professional-female-b.d.ts.map +0 -1
  136. package/dist/professional-female-b.js +0 -3
  137. package/dist/professional-female-b.js.map +0 -1
  138. package/dist/professional-male-a.d.ts +0 -4
  139. package/dist/professional-male-a.d.ts.map +0 -1
  140. package/dist/professional-male-a.js +0 -3
  141. package/dist/professional-male-a.js.map +0 -1
  142. package/dist/professional-male-b.d.ts +0 -4
  143. package/dist/professional-male-b.d.ts.map +0 -1
  144. package/dist/professional-male-b.js +0 -3
  145. package/dist/professional-male-b.js.map +0 -1
  146. package/dist/three/tara-rig.d.ts +0 -423
  147. package/dist/three/tara-rig.d.ts.map +0 -1
  148. package/dist/three/tara-rig.js.map +0 -1
  149. package/dist/vikram.d.ts +0 -7
  150. package/dist/vikram.d.ts.map +0 -1
  151. package/dist/vikram.js +0 -20
  152. package/dist/vikram.js.map +0 -1
  153. package/src/canvas/author/parts/eye.mjs +0 -722
  154. package/src/canvas/author/parts/hand.mjs +0 -1156
  155. package/src/canvas/author/parts/mouth.mjs +0 -741
  156. package/src/canvas/author/parts/nose.mjs +0 -100
  157. package/src/canvas/author/parts/skin-detail.mjs +0 -67
  158. package/src/canvas/author/path.mjs +0 -283
  159. package/src/canvas/author/rig.mjs +0 -405
  160. package/src/canvas/avatars/round/face.d.mts +0 -3
  161. package/src/canvas/avatars/round/face.mjs +0 -1307
  162. package/src/canvas/create-rig.d.ts +0 -15
  163. package/src/canvas/create-rig.js +0 -100
  164. package/src/canvas/data/img/professional-female-a-hair-back.webp +0 -0
  165. package/src/canvas/data/img/professional-female-a-hair-front.webp +0 -0
  166. package/src/canvas/data/img/professional-female-a-top-body.webp +0 -0
  167. package/src/canvas/data/img/professional-female-b-hair-back.webp +0 -0
  168. package/src/canvas/data/img/professional-female-b-hair-front.webp +0 -0
  169. package/src/canvas/data/img/professional-female-b-top-body.webp +0 -0
  170. package/src/canvas/data/img/professional-male-a-hair-back.webp +0 -0
  171. package/src/canvas/data/img/professional-male-a-hair-front.webp +0 -0
  172. package/src/canvas/data/img/professional-male-a-top-body.webp +0 -0
  173. package/src/canvas/data/img/professional-male-b-hair-back.webp +0 -0
  174. package/src/canvas/data/img/professional-male-b-hair-front.webp +0 -0
  175. package/src/canvas/data/img/professional-male-b-top-body.webp +0 -0
  176. package/src/canvas/data/img/round-m3-hair-back.webp +0 -0
  177. package/src/canvas/data/img/round-m3-hair-front.webp +0 -0
  178. package/src/canvas/data/img/round-m3-top-body.webp +0 -0
  179. package/src/canvas/data/img/round-w1-hair-back.webp +0 -0
  180. package/src/canvas/data/img/round-w1-hair-front.webp +0 -0
  181. package/src/canvas/data/img/round-w1-top-body.webp +0 -0
  182. package/src/canvas/data/interviewer-female.rig.json +0 -1
  183. package/src/canvas/data/interviewer-male.rig.json +0 -1
  184. package/src/canvas/data/professional-female-a.rig.json +0 -1
  185. package/src/canvas/data/professional-female-b.rig.json +0 -1
  186. package/src/canvas/data/professional-male-a.rig.json +0 -1
  187. package/src/canvas/data/professional-male-b.rig.json +0 -1
  188. package/src/canvas/src/live.js +0 -508
  189. package/src/canvas/src/render2d.js +0 -218
  190. package/src/canvas/src/rig.js +0 -297
  191. package/src/canvas/src/vocab.js +0 -96
@@ -1,423 +0,0 @@
1
- /**
2
- * tara's renderer: the `AvatarRig` contract (`apply(frame)` / `destroy()`)
3
- * over the Blender-authored GLB.
4
- *
5
- * The whole file is one idea — **the pose channel is the interface, and every
6
- * mapping here is a translation of one channel into the one control that
7
- * renders it.** `scripts/morphs.py` authored the shape keys under the library's
8
- * own channel names precisely so this file never has to interpret a viseme, a
9
- * state or an emotion; it receives a fully mixed pose and moves geometry.
10
- *
11
- * Three kinds of control, in the order they appear below:
12
- *
13
- * morph targets the face itself — lips, jaw, lids, brows, and the mouth
14
- * interior that has to choreograph with them
15
- * head group `headYaw` / `headPitch` / `headRoll`, as a rotation of the
16
- * parts that ride the skull about the jaw-angle pivot
17
- * eye globes `pupilX` / `pupilY`, as a rotation of the eyeball, because
18
- * the iris is painted onto a sphere and cannot slide
19
- *
20
- * and a fourth, for the body: `shoulderL/R` are morph targets on the torso
21
- * shell like any face channel, and `breath`, `torsoLean` and `torsoTurn` are
22
- * each one transform of a group — a swell, a scale, a sway (see `BODY`).
23
- *
24
- * An asset may add a fifth: expression maps, which change the face's *light*
25
- * where a smile or a raised brow would, because moving the geometry cannot
26
- * (see `expressive`).
27
- */
28
- import type { AvatarRig } from "../internal.js";
29
- /**
30
- * Head motion, in degrees at the channel's own clamp of ±1.4.
31
- *
32
- * These are the program's *working* envelope, mapped so that a channel pinned to
33
- * its limit lands exactly on it. That is the point of scaling by the clamp
34
- * rather than by 1: the mixer cannot ask for more than the envelope allows, and
35
- * the hard ceiling stays unreachable by construction instead of by a second
36
- * clamp nobody runs.
37
- *
38
- * **It opened on 2026-09-12, from yaw ±6°, pitch ±5°, roll ±3°.** That
39
- * envelope made Busso's neutral-speech numbers unreachable: his mean
40
- * per-sentence pitch *range* is 9.5°, which is 95 % of everything ±5° could
41
- * ever produce, so speaking alone would have swung the channel corner to corner
42
- * and a deliberate nod on top of it would have had nowhere left to go. What had
43
- * held it there was the asset, not anatomy — the neck's follow was linear and
44
- * drew a second jawline past a few degrees — and once that follow became exact
45
- * (`NECK_QUAD` below) pitch could open to 24 and roll to 8.
46
- *
47
- * Yaw is still the smallest because it is the one axis this rig is genuinely
48
- * constrained on: the albedo is a front-orthographic projection of a 0.34-deep
49
- * shell, and a large turn is where that reads as a cardboard cutout rather than
50
- * a head. **It opened from 9° to 15° on 2026-09-18.** The cutout was measured
51
- * rather than assumed — a ladder rendered at 9/12/15/18/21/25/30 and read at
52
- * crop on the characters that existed then is clean to 21° on tara and to 18°
53
- * on tanya and tushar. 9° was therefore set at half of where the artefact
54
- * actually begins, and the stiffness the owner reported on tanya's turns was
55
- * that margin, not her asset. 15° keeps 3° of headroom under the 18° the
56
- * tightest of them read.
57
- *
58
- * This is not for speech: Busso wants ±1.15° of yaw in neutral conversation and
59
- * always did. It is for a head that turns to *look* at something, which is what
60
- * mocap drives and what pegged the channel — a real 25° turn still saturates at
61
- * 15°, so this widens the envelope without making it generous.
62
- *
63
- * And it is not the angle a pose may be *held* at, which is a stricter question
64
- * with its own measurement per character (`motion-limits.json`, applied through
65
- * `holds.ts`): a turn that returns is forgiven what a sustained one is not. The
66
- * two numbers differ by about 3x on yaw and neither is a correction of the
67
- * other.
68
- *
69
- * **Editing these needs no rebuild, but it is not free.** The neck's fields
70
- * carry no angle, so `tara.glb` cannot go stale against them. What a number
71
- * here does move:
72
- *
73
- * - Every clip is authored in channel units, so a degree here re-sizes every
74
- * clip driving that axis. `test/nods.test.ts` bands *pitch* only — `down`,
75
- * `up`, `upFirst` — and computes `yawPP` without ever asserting it. A yaw
76
- * change moves nothing there; a pitch change moves four tests.
77
- * - `head_parallax.py` and `validate_morphs.py` quote their gates at this
78
- * envelope. `validate_morphs` reads `morphs.head_envelope()`, but
79
- * `head_parallax.POSES` hardcoded `yaw 9` until 2026-09-18 and would have
80
- * gone on grading 9° while the rig shipped 15° — a gate defending a number
81
- * nothing used. It derives both angles from here now.
82
- * - The yaw twist's two fields are an expansion in the angle, so their error
83
- * grows as θ²/6. Against the exact rotation at the maximum ramp
84
- * (`NECK_TWIST` = 0.5) that is 0.31 % at 9°, 0.85 % at 15°, 1.23 % at 18°
85
- * (`morphs.neck_twist`). The note here used to read as a wall at 9°; it is
86
- * not one — 15° costs under a percent of a displacement that is itself a
87
- * fraction of the neck's radius.
88
- *
89
- * TARA-SPECIFIC: each number is her reach before an artefact shows — yaw by
90
- * the cutout, pitch by the neck fold that starts to crease at 24° chin-up.
91
- * Both were measured on the shipping surface, one axis at a time. This is still
92
- * one shared pair of
93
- * constants for all three characters, which holds only because 15° is inside
94
- * every one of them; the first character that wants more than its neighbours
95
- * forces the envelope onto `TaraRigOptions` as a per-character fact. A second
96
- * avatar measures its own with the audit.
97
- */
98
- export declare const HEAD_CLAMP = 1.4;
99
- export declare const HEAD_DEG: {
100
- yaw: number;
101
- pitch: number;
102
- roll: number;
103
- };
104
- /** Degrees per pose unit: the globe turns `pupil * GAZE_TRAVEL / GLOBE_RADIUS`
105
- * radians, and the head reaches `HEAD_DEG` at the clamp.
106
- *
107
- * Exported through `internal.ts` for the same reason as the head envelope: an
108
- * instrument that asks for "eyes on the camera through a head turn" is running
109
- * this conversion backwards, and a second copy of it would be a second thing to
110
- * update when the eye tile or the globe changes. */
111
- export declare const EYE_DEG: {
112
- x: number;
113
- y: number;
114
- };
115
- /**
116
- * The mixer's per-rig calibration for tara, passed by `tara.ts` and the motion
117
- * audit so both measure the same face. A pose unit is an angle here and a
118
- * pixel count on an SVG face, so the speech layer's amplitudes are tuned per
119
- * rig rather than in the library: `prosodyHeadGain` sizes speech-rhythm head
120
- * motion against this face's own motion envelope.
121
- *
122
- * `oculomotor` is the eye-head system sized for this face (`gaze.js`). Her eye
123
- * turns 10° a pupil unit and her head 6.4° of yaw a head unit, and the shared
124
- * look table — drawn for a line face, whose pupils cross most of an eye — put
125
- * every look in the eyes: a thinking look away was the iris parked in the
126
- * corner of the socket for two thirds of the state, which is side-eye, not
127
- * thought. Here the head carries about 60 % of a look and the eyes land a third
128
- * of the way off centre, where a real eye-head shift leaves them (Freedman &
129
- * Sparks; Pejsa & Andrist). The comment on each target is its world angle,
130
- * x right and y down.
131
- *
132
- * vor Real gain in the light is close to 1. A little under leaves the
133
- * head some say, so a nod carries the eyes a touch with it rather
134
- * than pinning them to the lens. Vertically it is well under
135
- * (2026-09-15): her pitch is a shell tipping on a photograph and
136
- * reads as a fraction of what it is, so the eyes' full answer to
137
- * it read as the eyes moving on their own — at 0.8, THINKING's
138
- * up-look rolled the iris to the lid with white beneath it, and
139
- * the reply that followed dropped it into a downcast look with the
140
- * lid riding down, while the head was still coming back. At 0.35
141
- * the eyes mostly go where the head takes them.
142
- * range How far the reflex may carry the eye in the socket. Unlimited,
143
- * an up-look's onset put the whole 8° in the eye before the neck
144
- * moved — the iris pinned under the lid, white beneath it, which
145
- * on this photograph reads as an eye-roll. Up 0.45 is 2.8° and
146
- * down 0.5 is 3.1°; the head covers the rest, as it does once the
147
- * eye nears its effective range. Both were looser (0.55, 0.85)
148
- * and a gap between turns hit both ends of them every time.
149
- * lidFollow Down 0.38 keeps the upper lid on the iris: the lid travels
150
- * 0.068 face units per lid unit and the iris 0.026 per pupil unit.
151
- * Up a little less, so an upward look opens the eye a hair instead
152
- * of dragging the lid along with it.
153
- * avert A conversational look away keeps under half its size in the
154
- * eyes and gives the neck 0.6 of it — on this face the eyes alone
155
- * could only make it a glance sideways.
156
- * head The follow's launch and cruise, in head units. A real head
157
- * reaches a 7-8° shift in about 0.4 s, its speed scaling with the
158
- * size of the shift; the shared amble took a thinking look 1.2 s,
159
- * and the reflex, doing its job, held the eyes in the corner of
160
- * the socket the whole way.
161
- *
162
- * `trunkFollow` is 0.3, under the line faces' 0.45. Live2D's face-tracking
163
- * sample gives the body a third of the head's yaw (BodyAngleX 10 against
164
- * AngleX 30; docs/research-head-rotation.md § 5 item 6), and that is the
165
- * benchmark to sit at, not above. Here it matters for a reason a line face
166
- * does not have: the neck's outline holds under a twist by construction
167
- * (`morphs.neck_twist`), so the trunk's sway is what is left moving it — a
168
- * quarter to a third of it at the yaw peak in the recorded call, read as the
169
- * neck sliding. TARA-SPECIFIC in its evidence only: a second Blender avatar
170
- * starts from 0.3 and checks its own outline at crop.
171
- */
172
- export declare const TARA_TUNING: {
173
- readonly prosodyHeadGain: 1;
174
- readonly prosodyFaceGain: 1;
175
- readonly saccadeGain: 2.4;
176
- readonly aversionGain: 1.8;
177
- readonly trunkFollow: 0.3;
178
- readonly brows: {
179
- readonly range: readonly [-0.28, 0.24];
180
- readonly floor: 0.11;
181
- readonly forms: readonly [{
182
- readonly p: 0.38;
183
- readonly inner: 0;
184
- readonly angle: 0;
185
- }, {
186
- readonly p: 0.34;
187
- readonly inner: 0.26;
188
- readonly angle: 0;
189
- }, {
190
- readonly p: 0.28;
191
- readonly inner: 0;
192
- readonly angle: 0.3;
193
- }];
194
- };
195
- readonly states: {
196
- readonly WORKING: {
197
- readonly pose: {
198
- readonly headPitch: 0.04;
199
- readonly lidL: -0.08;
200
- readonly lidR: -0.08;
201
- readonly shoulderL: 0.06;
202
- readonly shoulderR: 0.06;
203
- };
204
- };
205
- readonly CANT_HEAR: {
206
- readonly pose: {
207
- readonly torsoLean: 0.22;
208
- readonly headPitch: 0.1;
209
- readonly browRaiseL: -0.14;
210
- readonly browRaiseR: -0.14;
211
- readonly browInnerL: 0.22;
212
- readonly browInnerR: 0.18;
213
- readonly mouthPress: 0.4;
214
- readonly mouthCornerL: -0.1;
215
- readonly mouthCornerR: -0.1;
216
- };
217
- };
218
- readonly SEARCHING_SCREEN: {
219
- readonly pose: {
220
- readonly mouthPress: 0.4;
221
- readonly mouthCornerL: -0.08;
222
- readonly mouthCornerR: -0.08;
223
- readonly browRaiseL: -0.1;
224
- readonly browRaiseR: -0.06;
225
- };
226
- };
227
- };
228
- readonly oculomotor: {
229
- readonly angles: {
230
- readonly eye: {
231
- x: number;
232
- y: number;
233
- };
234
- readonly head: {
235
- x: number;
236
- y: number;
237
- };
238
- };
239
- readonly vor: {
240
- readonly x: 0.8;
241
- readonly y: 0.35;
242
- };
243
- readonly range: {
244
- readonly x: 0.8;
245
- readonly up: 0.45;
246
- readonly down: 0.5;
247
- };
248
- readonly lidFollow: {
249
- readonly down: 0.38;
250
- readonly up: 0.3;
251
- };
252
- readonly avert: {
253
- readonly eye: 0.45;
254
- readonly head: 0.6;
255
- };
256
- readonly head: {
257
- readonly accel: 16;
258
- readonly speed: 3.5;
259
- };
260
- readonly targets: {
261
- readonly OWN_SCREEN: {
262
- readonly px: 0.14;
263
- readonly py: 0.24;
264
- readonly hx: 0.1;
265
- readonly hy: 0.06;
266
- };
267
- readonly USER_EAR: {
268
- readonly px: -0.2;
269
- readonly py: 0.05;
270
- readonly hx: 0.4;
271
- readonly hy: 0.02;
272
- readonly roll: 0.55;
273
- };
274
- readonly SCREEN_CENTER: {
275
- readonly px: 0;
276
- readonly py: -0.06;
277
- readonly hx: 0;
278
- readonly hy: -0.14;
279
- };
280
- readonly SCREEN_LEFT: {
281
- readonly px: -0.42;
282
- readonly py: -0.1;
283
- readonly hx: -0.8;
284
- readonly hy: -0.05;
285
- };
286
- readonly SCREEN_RIGHT: {
287
- readonly px: 0.42;
288
- readonly py: -0.1;
289
- readonly hx: 0.8;
290
- readonly hy: -0.05;
291
- };
292
- readonly SCREEN_TOP: {
293
- readonly px: 0;
294
- readonly py: -0.26;
295
- readonly hx: 0;
296
- readonly hy: -0.28;
297
- };
298
- readonly SCREEN_WORK: {
299
- readonly px: -0.35;
300
- readonly py: 0.18;
301
- readonly hx: -0.55;
302
- readonly hy: 0.12;
303
- };
304
- readonly AWAY_THINKING: {
305
- readonly px: -0.3;
306
- readonly py: -0.4;
307
- readonly hx: -0.75;
308
- readonly hy: -0.33;
309
- readonly roll: 0.08;
310
- };
311
- readonly AWAY_RIGHT: {
312
- readonly px: 0.3;
313
- readonly py: -0.36;
314
- readonly hx: 0.72;
315
- readonly hy: -0.3;
316
- readonly roll: -0.06;
317
- };
318
- readonly AWAY_DOWN: {
319
- readonly px: -0.28;
320
- readonly py: 0.45;
321
- readonly hx: -0.62;
322
- readonly hy: 0.16;
323
- readonly roll: 0.04;
324
- };
325
- readonly AWAY_SIDE: {
326
- readonly px: 0.32;
327
- readonly py: 0.08;
328
- readonly hx: 0.72;
329
- readonly hy: 0.02;
330
- readonly roll: -0.03;
331
- };
332
- };
333
- };
334
- };
335
- export interface TaraRigOptions {
336
- /** Called once the GLB is in the scene, for a capture tool that must wait. */
337
- readonly onReady?: () => void;
338
- /** The character's GLB. The second-character seam: every build fact the rig
339
- * reads (jaw-shadow tile, rim depth, morph names) travels in the GLB's own
340
- * extras, so a character built by the same scripts needs nothing else. Tara's
341
- * tuning is still applied, which is the experiment.
342
- *
343
- * Required, and it used to default to tara's. A default meant this module
344
- * imported one character's URL, and a bundler emits assets per module — so
345
- * every consumer of *any* character shipped tara's GLB whether or not they
346
- * mounted her. The caller knows which character it is building; this file
347
- * must not ([tara-asset.ts](./tara-asset.ts)). */
348
- readonly url: string;
349
- /** `false` leaves an asset's expression maps unread, for a capture tool
350
- * comparing the face with and without them. */
351
- readonly expression?: boolean;
352
- /** Keeps the drawing buffer readable after the browser has composited it, so
353
- * a caller can copy the canvas out at any moment rather than only from
354
- * inside the frame that drew it.
355
- *
356
- * A pose sheet needs this and a consumer must not have it. WebGL contexts are
357
- * a handful per page, so a sheet of thirty poses cannot be thirty canvases —
358
- * it holds one pose still, copies the canvas into a tile, and moves on. Copy
359
- * outside the drawing frame and the buffer has already been cleared, which is
360
- * a blank tile and not an error. The cost is that the buffer cannot be
361
- * discarded, which on some drivers means a second copy of every frame; the
362
- * consumer renders thirty frames a second forever and pays nothing for a
363
- * readback it never performs. */
364
- readonly readback?: boolean;
365
- }
366
- /**
367
- * The hair's roll, which is the one thing in this rig that is not a function of
368
- * the pose alone.
369
- *
370
- * A hank that hangs past the jaw is lying on a shoulder, and a shoulder does not
371
- * tilt when the head does. Rolled rigidly with the skull it lifts off the collar
372
- * and the page shows through behind it, so the shell gives up `hold` of the
373
- * roll at its lowest rows and none at the crown, graded by `morphs.hair_hold`.
374
- * That is the static half and it is what fixes the gap.
375
- *
376
- * The other half is why roll read as a hinge at all. A rigid rotation about a
377
- * fixed point is a hinge — there is nothing else in it — and what a real head
378
- * tilt has that this lacked is hair that arrives late and settles. Live2D gives
379
- * every hank a spring for exactly this (`docs/research-head-rotation.md` § 3.1:
380
- * mobility ~0.95, delay 0.8-0.9, one clear overshoot), so this is a spring on
381
- * the hair's own angle chasing the share of the roll it agrees to take.
382
- *
383
- * It is on the hair and not on the head's channels on purpose. The mixer's
384
- * per-channel time constants are shared with the SVG faces and every clip in the
385
- * library is authored pre-compensated for them, so a spring on `headRoll` would
386
- * silently re-time every nod ever authored. Secondary motion on a shell that
387
- * only this renderer has costs nothing outside it.
388
- *
389
- * 1.5 Hz is the band the library already keeps gesture under, and a hank of hair
390
- * on a real head swings near it (a 7 cm pendulum is 1.9 Hz); the damping is a
391
- * single visible overshoot, settling inside 0.8 s. Faster reads as a flick and
392
- * slower as wet hair.
393
- */
394
- /**
395
- * `hold` is the share of the head's roll the hanging hair declines to take, and
396
- * `hz`/`damping` are how it gets there. 1.5 Hz is the ceiling the repo's idle
397
- * constraint sets on *driven* oscillation; a settle is a one-shot and could
398
- * defensibly go faster, but there is no reason to spend the exemption: what
399
- * unhinges the roll is the hair arriving late, not the ring. At 0.65 it trails
400
- * by 93% of its travel a frame in, overshoots 5% and is inside 5% of the hold in
401
- * 450 ms — well within a phrase's hold.
402
- */
403
- export declare const HAIR_ROLL: {
404
- hold: number;
405
- hz: number;
406
- damping: number;
407
- };
408
- /**
409
- * One step of `HAIR_ROLL`'s spring: semi-implicit, the rate taking the frame's
410
- * acceleration before the angle takes the rate. Explicit Euler rings at this
411
- * stiffness and 30 fps; this does not, which is the only reason the order of
412
- * those two lines is worth a sentence.
413
- *
414
- * Exported for `test/nods.test.ts`, because settle time and overshoot are
415
- * numbers and not something a still frame can show. It is not part of the
416
- * package's surface — `packages/avatar/client/tara.ts` is.
417
- */
418
- export declare const hairRollStep: (angle: number, rate: number, target: number, dt: number) => {
419
- angle: number;
420
- rate: number;
421
- };
422
- export declare function createTaraRig(mount: HTMLElement, options?: unknown): AvatarRig;
423
- //# sourceMappingURL=tara-rig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tara-rig.d.ts","sourceRoot":"","sources":["../../client/three/tara-rig.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAe,SAAS,EAAW,MAAM,gBAAgB,CAAC;AAkBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAKH,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,QAAQ;;;;CAAkC,CAAC;AAyIxD;;;;;;qDAMqD;AACrD,eAAO,MAAM,OAAO;;;CAA2G,CAAC;AAGhI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJd,CAAC;AA8bX,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;;;;;;uDASmD;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;oDACgD;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;sCAWkC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAsID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS;;;;CAAyC,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,IAAI,MAAM;;;CAInF,CAAC;AAkCF,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAga9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tara-rig.js","sourceRoot":"","sources":["../../client/three/tara-rig.ts"],"names":[],"mappings":"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"}
package/dist/vikram.d.ts DELETED
@@ -1,7 +0,0 @@
1
- /** Polished professional male avatar, authored to read at call-tile size. */
2
- import type { CanvasAvatarOptions } from './createCanvasAvatar.js';
3
- import type { AvatarInstance } from './createAvatar.js';
4
- export type { CanvasAvatarOptions };
5
- export { supports } from './supports.js';
6
- export declare function createAvatar(options: CanvasAvatarOptions): AvatarInstance;
7
- //# sourceMappingURL=vikram.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vikram.d.ts","sourceRoot":"","sources":["../client/vikram.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAG7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUxD,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAOzE"}
package/dist/vikram.js DELETED
@@ -1,20 +0,0 @@
1
- /** Polished professional male avatar, authored to read at call-tile size. */
2
- import { createCanvasAvatar } from './createCanvasAvatar.js';
3
- const RIG_URL = new URL('../src/canvas/data/professional-male-a.rig.json', import.meta.url);
4
- const IMAGES = {
5
- 'professional-male-a-top-body.webp': new URL('../src/canvas/data/img/professional-male-a-top-body.webp', import.meta.url),
6
- 'professional-male-a-hair-back.webp': new URL('../src/canvas/data/img/professional-male-a-hair-back.webp', import.meta.url),
7
- 'professional-male-a-hair-front.webp': new URL('../src/canvas/data/img/professional-male-a-hair-front.webp', import.meta.url),
8
- };
9
- const FACE = () => import('../src/canvas/avatars/round/face.mjs');
10
- // Same mixer, same clip library, so the same declaration (`supports.ts`).
11
- export { supports } from './supports.js';
12
- export function createAvatar(options) {
13
- return createCanvasAvatar(options, {
14
- rigUrl: RIG_URL,
15
- images: IMAGES,
16
- face: FACE,
17
- label: 'Vikram — polished professional male avatar',
18
- });
19
- }
20
- //# sourceMappingURL=vikram.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vikram.js","sourceRoot":"","sources":["../client/vikram.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iDAAiD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5F,MAAM,MAAM,GAAG;IACb,mCAAmC,EAAE,IAAI,GAAG,CAAC,0DAA0D,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACzH,oCAAoC,EAAE,IAAI,GAAG,CAAC,2DAA2D,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3H,qCAAqC,EAAE,IAAI,GAAG,CAAC,4DAA4D,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;CACrH,CAAC;AACX,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;AAGlE,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,OAAO,kBAAkB,CAAC,OAAO,EAAE;QACjC,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,4CAA4C;KACpD,CAAC,CAAC;AACL,CAAC"}