ugly-app 0.1.1024 → 0.1.1026

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 (189) hide show
  1. package/dist/character/client/CharacterAvatar.d.ts +26 -0
  2. package/dist/character/client/CharacterAvatar.d.ts.map +1 -0
  3. package/dist/character/client/CharacterAvatar.js +25 -0
  4. package/dist/character/client/CharacterAvatar.js.map +1 -0
  5. package/dist/character/client/CharacterCanvas.d.ts +10 -1
  6. package/dist/character/client/CharacterCanvas.d.ts.map +1 -1
  7. package/dist/character/client/CharacterCanvas.js +157 -64
  8. package/dist/character/client/CharacterCanvas.js.map +1 -1
  9. package/dist/character/client/CharacterCreator.d.ts +7 -1
  10. package/dist/character/client/CharacterCreator.d.ts.map +1 -1
  11. package/dist/character/client/CharacterCreator.js +251 -90
  12. package/dist/character/client/CharacterCreator.js.map +1 -1
  13. package/dist/character/client/index.d.ts +7 -3
  14. package/dist/character/client/index.d.ts.map +1 -1
  15. package/dist/character/client/index.js +4 -2
  16. package/dist/character/client/index.js.map +1 -1
  17. package/dist/character/client/lib/charPartDraw.d.ts +11 -0
  18. package/dist/character/client/lib/charPartDraw.d.ts.map +1 -1
  19. package/dist/character/client/lib/charPartDraw.js +32 -1
  20. package/dist/character/client/lib/charPartDraw.js.map +1 -1
  21. package/dist/character/client/lib/charParts.d.ts +17 -0
  22. package/dist/character/client/lib/charParts.d.ts.map +1 -1
  23. package/dist/character/client/lib/charParts.js +58 -2
  24. package/dist/character/client/lib/charParts.js.map +1 -1
  25. package/dist/character/client/lib/charSpeech.d.ts +5 -0
  26. package/dist/character/client/lib/charSpeech.d.ts.map +1 -1
  27. package/dist/character/client/lib/charSpeech.js +102 -17
  28. package/dist/character/client/lib/charSpeech.js.map +1 -1
  29. package/dist/character/client/lib/characterDebugOverlay.d.ts +12 -2
  30. package/dist/character/client/lib/characterDebugOverlay.d.ts.map +1 -1
  31. package/dist/character/client/lib/characterDebugOverlay.js +25 -1
  32. package/dist/character/client/lib/characterDebugOverlay.js.map +1 -1
  33. package/dist/character/client/lib/characterFeedbackIR.d.ts +8 -0
  34. package/dist/character/client/lib/characterFeedbackIR.d.ts.map +1 -0
  35. package/dist/character/client/lib/characterFeedbackIR.js +19 -0
  36. package/dist/character/client/lib/characterFeedbackIR.js.map +1 -0
  37. package/dist/character/client/lib/characterGaitContacts.d.ts +1 -0
  38. package/dist/character/client/lib/characterGaitContacts.d.ts.map +1 -1
  39. package/dist/character/client/lib/characterGaitContacts.js +34 -5
  40. package/dist/character/client/lib/characterGaitContacts.js.map +1 -1
  41. package/dist/character/client/lib/characterScene.d.ts +99 -6
  42. package/dist/character/client/lib/characterScene.d.ts.map +1 -1
  43. package/dist/character/client/lib/characterScene.js +426 -37
  44. package/dist/character/client/lib/characterScene.js.map +1 -1
  45. package/dist/character/client/lib/fbxClips.d.ts +28 -0
  46. package/dist/character/client/lib/fbxClips.d.ts.map +1 -1
  47. package/dist/character/client/lib/fbxClips.js +103 -2
  48. package/dist/character/client/lib/fbxClips.js.map +1 -1
  49. package/dist/character/client/lib/previewCharacterController.d.ts +12 -1
  50. package/dist/character/client/lib/previewCharacterController.d.ts.map +1 -1
  51. package/dist/character/client/lib/previewCharacterController.js +116 -8
  52. package/dist/character/client/lib/previewCharacterController.js.map +1 -1
  53. package/dist/character/game/index.d.ts +323 -1
  54. package/dist/character/game/index.d.ts.map +1 -1
  55. package/dist/character/game/index.js +1245 -14
  56. package/dist/character/game/index.js.map +1 -1
  57. package/dist/character/shared/index.d.ts +2 -0
  58. package/dist/character/shared/index.d.ts.map +1 -1
  59. package/dist/character/shared/index.js +1 -0
  60. package/dist/character/shared/index.js.map +1 -1
  61. package/dist/character/shared/lib/charGaze.d.ts +19 -0
  62. package/dist/character/shared/lib/charGaze.d.ts.map +1 -1
  63. package/dist/character/shared/lib/charGaze.js +67 -3
  64. package/dist/character/shared/lib/charGaze.js.map +1 -1
  65. package/dist/character/shared/lib/charPoint.d.ts +35 -0
  66. package/dist/character/shared/lib/charPoint.d.ts.map +1 -0
  67. package/dist/character/shared/lib/charPoint.js +227 -0
  68. package/dist/character/shared/lib/charPoint.js.map +1 -0
  69. package/dist/character/shared/lib/characterFaceController.d.ts +58 -0
  70. package/dist/character/shared/lib/characterFaceController.d.ts.map +1 -0
  71. package/dist/character/shared/lib/characterFaceController.js +178 -0
  72. package/dist/character/shared/lib/characterFaceController.js.map +1 -0
  73. package/dist/character/shared/lib/faceAnim.d.ts +1 -1
  74. package/dist/character/shared/lib/faceAnim.d.ts.map +1 -1
  75. package/dist/character/shared/lib/faceAnim.js +2 -2
  76. package/dist/character/shared/lib/faceAnim.js.map +1 -1
  77. package/dist/cli/dev.js +2 -2
  78. package/dist/cli/dev.js.map +1 -1
  79. package/dist/cli/doctor.js +2 -2
  80. package/dist/cli/doctor.js.map +1 -1
  81. package/dist/cli/feedbackSubmit.js +2 -2
  82. package/dist/cli/feedbackSubmit.js.map +1 -1
  83. package/dist/cli/inspectUx.d.ts.map +1 -1
  84. package/dist/cli/inspectUx.js +2 -2
  85. package/dist/cli/inspectUx.js.map +1 -1
  86. package/dist/cli/uglyappConfig.d.ts +2 -3
  87. package/dist/cli/uglyappConfig.d.ts.map +1 -1
  88. package/dist/cli/uglyappConfig.js +2 -3
  89. package/dist/cli/uglyappConfig.js.map +1 -1
  90. package/dist/cli/url.js +2 -2
  91. package/dist/cli/url.js.map +1 -1
  92. package/dist/cli/version.d.ts +1 -1
  93. package/dist/cli/version.js +1 -1
  94. package/dist/client/auth/MagicLinkCallback.d.ts.map +1 -1
  95. package/dist/client/auth/MagicLinkCallback.js +5 -10
  96. package/dist/client/auth/MagicLinkCallback.js.map +1 -1
  97. package/dist/native/bundledTools.d.ts.map +1 -1
  98. package/dist/native/bundledTools.js.map +1 -1
  99. package/dist/native/contract.d.ts +0 -31
  100. package/dist/native/contract.d.ts.map +1 -1
  101. package/dist/native/contract.js.map +1 -1
  102. package/dist/native/server/permissions/gate.d.ts +0 -8
  103. package/dist/native/server/permissions/gate.d.ts.map +1 -1
  104. package/dist/native/server/permissions/gate.js +1 -34
  105. package/dist/native/server/permissions/gate.js.map +1 -1
  106. package/dist/native/wrapper.d.ts +1 -4
  107. package/dist/native/wrapper.d.ts.map +1 -1
  108. package/dist/native/wrapper.js +1 -16
  109. package/dist/native/wrapper.js.map +1 -1
  110. package/dist/playwright/index.d.ts +0 -10
  111. package/dist/playwright/index.d.ts.map +1 -1
  112. package/dist/playwright/index.js +0 -10
  113. package/dist/playwright/index.js.map +1 -1
  114. package/dist/server/auth/magicLinkProvider.d.ts.map +1 -1
  115. package/dist/server/auth/magicLinkProvider.js +34 -77
  116. package/dist/server/auth/magicLinkProvider.js.map +1 -1
  117. package/dist/server/auth/userUpsert.d.ts +0 -9
  118. package/dist/server/auth/userUpsert.d.ts.map +1 -1
  119. package/dist/server/auth/userUpsert.js +0 -14
  120. package/dist/server/auth/userUpsert.js.map +1 -1
  121. package/dist/server/auth/workersMagicLink.d.ts.map +1 -1
  122. package/dist/server/auth/workersMagicLink.js +34 -79
  123. package/dist/server/auth/workersMagicLink.js.map +1 -1
  124. package/dist/shared/DB.d.ts +0 -2
  125. package/dist/shared/DB.d.ts.map +1 -1
  126. package/dist/shared/DB.js +0 -6
  127. package/dist/shared/DB.js.map +1 -1
  128. package/dist/shared/TextGen.d.ts +0 -29
  129. package/dist/shared/TextGen.d.ts.map +1 -1
  130. package/dist/shared/TextGen.js +12 -110
  131. package/dist/shared/TextGen.js.map +1 -1
  132. package/package.json +2 -3
  133. package/src/character/client/CharacterAvatar.tsx +86 -0
  134. package/src/character/client/CharacterCanvas.tsx +194 -65
  135. package/src/character/client/CharacterCreator.tsx +474 -117
  136. package/src/character/client/index.ts +18 -2
  137. package/src/character/client/lib/charPartDraw.ts +42 -1
  138. package/src/character/client/lib/charParts.ts +65 -3
  139. package/src/character/client/lib/charSpeech.ts +148 -22
  140. package/src/character/client/lib/characterDebugOverlay.ts +57 -3
  141. package/src/character/client/lib/characterFeedbackIR.ts +22 -0
  142. package/src/character/client/lib/characterGaitContacts.ts +39 -5
  143. package/src/character/client/lib/characterScene.ts +533 -40
  144. package/src/character/client/lib/fbxClips.ts +137 -5
  145. package/src/character/client/lib/previewCharacterController.ts +125 -7
  146. package/src/character/game/index.ts +1740 -24
  147. package/src/character/shared/index.ts +7 -0
  148. package/src/character/shared/lib/charGaze.ts +86 -3
  149. package/src/character/shared/lib/charPoint.ts +307 -0
  150. package/src/character/shared/lib/characterFaceController.ts +236 -0
  151. package/src/character/shared/lib/faceAnim.ts +2 -2
  152. package/src/cli/dev.ts +2 -2
  153. package/src/cli/doctor.ts +2 -2
  154. package/src/cli/feedbackSubmit.ts +2 -2
  155. package/src/cli/inspectUx.ts +5 -4
  156. package/src/cli/uglyappConfig.ts +2 -3
  157. package/src/cli/url.ts +2 -2
  158. package/src/cli/version.ts +1 -1
  159. package/src/client/auth/MagicLinkCallback.tsx +5 -11
  160. package/src/native/contract.ts +0 -21
  161. package/src/native/server/permissions/gate.test.ts +0 -46
  162. package/src/native/server/permissions/gate.ts +1 -36
  163. package/src/native/wrapper.test.ts +4 -39
  164. package/src/native/wrapper.ts +2 -16
  165. package/src/playwright/index.ts +0 -17
  166. package/src/server/auth/magicLinkProvider.test.ts +0 -74
  167. package/src/server/auth/magicLinkProvider.ts +34 -92
  168. package/src/server/auth/userUpsert.ts +0 -21
  169. package/src/server/auth/workersMagicLink.ts +34 -99
  170. package/src/shared/DB.ts +0 -6
  171. package/src/shared/TextGen.ts +59 -213
  172. package/templates/playwright.config.ts +8 -18
  173. package/dist/cli/projectPort.d.ts +0 -61
  174. package/dist/cli/projectPort.d.ts.map +0 -1
  175. package/dist/cli/projectPort.js +0 -94
  176. package/dist/cli/projectPort.js.map +0 -1
  177. package/dist/server/auth/magicLinkBridge.d.ts +0 -25
  178. package/dist/server/auth/magicLinkBridge.d.ts.map +0 -1
  179. package/dist/server/auth/magicLinkBridge.js +0 -46
  180. package/dist/server/auth/magicLinkBridge.js.map +0 -1
  181. package/dist/shared/MagicLink.d.ts +0 -22
  182. package/dist/shared/MagicLink.d.ts.map +0 -1
  183. package/dist/shared/MagicLink.js +0 -29
  184. package/dist/shared/MagicLink.js.map +0 -1
  185. package/src/cli/projectPort.test.ts +0 -126
  186. package/src/cli/projectPort.ts +0 -95
  187. package/src/server/auth/magicLinkBridge.ts +0 -56
  188. package/src/server/auth/workersMagicLink.test.ts +0 -258
  189. package/src/shared/MagicLink.ts +0 -33
@@ -0,0 +1,26 @@
1
+ import { type CSSProperties } from 'react';
2
+ import type { CharacterSpec } from '../shared/spec.js';
3
+ import type { CharacterSpeechService } from '../game/index.js';
4
+ import { type CharacterCanvasHandle } from './CharacterCanvas.js';
5
+ import type { FbxClipIndex } from './lib/fbxClips.js';
6
+ import type { CharacterKitSource } from './lib/kitSource.js';
7
+ export interface CharacterAvatarProps {
8
+ name: string;
9
+ thumbnailUrl?: string | null;
10
+ size?: number;
11
+ /** Supplying both source and spec enables the live actor; otherwise the thumbnail is used. */
12
+ source?: CharacterKitSource;
13
+ spec?: CharacterSpec;
14
+ anims?: FbxClipIndex;
15
+ speechService?: CharacterSpeechService | null;
16
+ live?: boolean;
17
+ className?: string;
18
+ style?: CSSProperties;
19
+ onError?: (message: string) => void;
20
+ }
21
+ /**
22
+ * Compact live character surface with a deterministic thumbnail fallback. The live form is the
23
+ * same CharacterCanvas/GameCharacter/face-controller path as the creator, not a second avatar rig.
24
+ */
25
+ export declare const CharacterAvatar: import("react").ForwardRefExoticComponent<CharacterAvatarProps & import("react").RefAttributes<CharacterCanvasHandle>>;
26
+ //# sourceMappingURL=CharacterAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CharacterAvatar.d.ts","sourceRoot":"","sources":["../../../src/character/client/CharacterAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,wHAuD1B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useState } from 'react';
3
+ import { CharacterCanvas, } from './CharacterCanvas.js';
4
+ import { CharacterThumbnail } from './CharacterThumbnail.js';
5
+ /**
6
+ * Compact live character surface with a deterministic thumbnail fallback. The live form is the
7
+ * same CharacterCanvas/GameCharacter/face-controller path as the creator, not a second avatar rig.
8
+ */
9
+ export const CharacterAvatar = forwardRef(function CharacterAvatar({ name, thumbnailUrl, size = 64, source, spec, anims, speechService, live = true, className, style, onError, }, ref) {
10
+ const [failed, setFailed] = useState(false);
11
+ const box = {
12
+ width: size,
13
+ height: size,
14
+ overflow: 'hidden',
15
+ borderRadius: Math.round(size * 0.28),
16
+ ...style,
17
+ };
18
+ if (!live || !source || !spec || failed)
19
+ return (_jsx(CharacterThumbnail, { name: name, thumbnailUrl: thumbnailUrl, size: size, className: className, style: style }));
20
+ return (_jsxs("div", { "data-id": "character-avatar-live", className: className, style: box, children: [_jsx("style", { children: `.ugly-character-avatar-canvas{width:100%;height:100%;display:block}` }), _jsx(CharacterCanvas, { ref: ref, className: "ugly-character-avatar-canvas", source: source, spec: spec, anims: anims, camera: "face", speechService: speechService, onError: (message) => {
21
+ setFailed(true);
22
+ onError?.(message);
23
+ } })] }));
24
+ });
25
+ //# sourceMappingURL=CharacterAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CharacterAvatar.js","sourceRoot":"","sources":["../../../src/character/client/CharacterAvatar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAGjE,OAAO,EACL,eAAe,GAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAmB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAGvC,SAAS,eAAe,CACxB,EACE,IAAI,EACJ,YAAY,EACZ,IAAI,GAAG,EAAE,EACT,MAAM,EACN,IAAI,EACJ,KAAK,EACL,aAAa,EACb,IAAI,GAAG,IAAI,EACX,SAAS,EACT,KAAK,EACL,OAAO,GACR,EACD,GAAG;IAEH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAkB;QACzB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACrC,GAAG,KAAK;KACT,CAAC;IACF,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,MAAM;QACrC,OAAO,CACL,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;IACJ,OAAO,CACL,0BAAa,uBAAuB,EAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,aACnE,0BAAQ,qEAAqE,GAAS,EACtF,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,8BAA8B,EACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAC,MAAM,EACb,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;oBACnB,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChB,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC,GACD,IACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -2,8 +2,11 @@ import type { CharacterSpec } from '../shared/spec.js';
2
2
  import type { CharKitFacts } from '../shared/lib/charSpec.js';
3
3
  import { type FbxClipIndex } from './lib/fbxClips.js';
4
4
  import type { CharacterKitSource } from './lib/kitSource.js';
5
- import { type CharacterTrace, type GameCharacter, type ReplayCharacterTraceResult } from '../game/index.js';
5
+ import { type CharacterTrace, type CharacterSpeechService, type GameCharacter, type ReplayCharacterTraceResult } from '../game/index.js';
6
6
  import { type PreviewCharacterControllerIR, type PreviewControlIntent } from './lib/previewCharacterController.js';
7
+ /** Try Out locomotion should visibly ease while remaining responsive to held input. */
8
+ export declare const TRY_OUT_LOCOMOTION_BLEND_IN_MS = 240;
9
+ export declare const TRY_OUT_LOCOMOTION_BLEND_OUT_MS = 320;
7
10
  /** The framings the canvas knows. `full` head-to-toe, `head` shoulders-up, `face` for a thumbnail. */
8
11
  export type CharacterCameraPreset = 'full' | 'head' | 'face';
9
12
  export interface CharacterCanvasProps {
@@ -28,6 +31,8 @@ export interface CharacterCanvasProps {
28
31
  * the face to the idle blink.
29
32
  */
30
33
  faceWeights?: Float32Array | null | undefined;
34
+ /** Audio-clock speech provider used by `GameCharacter.playText()`. */
35
+ speechService?: CharacterSpeechService | null | undefined;
31
36
  /** Draw live support-root, room, controller capsule, contact and posed-socket diagnostics. */
32
37
  debugOverlays?: boolean | undefined;
33
38
  className?: string | undefined;
@@ -87,6 +92,10 @@ export interface CharacterCanvasHandle {
87
92
  turnTryOut(deltaDeg: number): void;
88
93
  /** Jump through `GameCharacter.jump()` and select a matching preview clip when available. */
89
94
  jumpTryOut(): void;
95
+ climbLadderTryOut(direction: 'up' | 'down'): void;
96
+ cancelTraversalTryOut(): void;
97
+ aimTryOut(active: boolean): void;
98
+ shootTryOut(): void;
90
99
  exportTryOutTrace(): CharacterTrace | null;
91
100
  replayTryOutTrace(): ReplayCharacterTraceResult | null;
92
101
  /** The canvas element, for callers that need their own readback. */
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterCanvas.d.ts","sourceRoot":"","sources":["../../../src/character/client/CharacterCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CharacterCanvas.d.ts","sourceRoot":"","sources":["../../../src/character/client/CharacterCanvas.tsx"],"names":[],"mappings":"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"}
@@ -26,10 +26,13 @@ import { loadCharParts } from './lib/charParts.js';
26
26
  import { loadHairMeshes } from './lib/charHair.js';
27
27
  import { loadGarments } from './lib/charGarment.js';
28
28
  import { makeGarmentCache } from './lib/skinTextures.js';
29
- import { fbxClipNames, idleFbxClipNames, loadFbxClip, locomotionFbxClipName, } from './lib/fbxClips.js';
29
+ import { controlFbxAnimation, fbxClipNames, idleFbxClipNames, loadFbxClip, } from './lib/fbxClips.js';
30
30
  import { createGameCharacterWorld, replayCharacterTrace, } from '../game/index.js';
31
31
  import { PreviewCharacterController, PREVIEW_TEST_ROOM, } from './lib/previewCharacterController.js';
32
32
  import { buildCharacterDebugOverlay, } from './lib/characterDebugOverlay.js';
33
+ /** Try Out locomotion should visibly ease while remaining responsive to held input. */
34
+ export const TRY_OUT_LOCOMOTION_BLEND_IN_MS = 240;
35
+ export const TRY_OUT_LOCOMOTION_BLEND_OUT_MS = 320;
33
36
  /**
34
37
  * The loading cover's own two rules.
35
38
  *
@@ -115,7 +118,7 @@ function sunDir(eye, tgt) {
115
118
  const l = Math.hypot(dx, dy, dz) || 1;
116
119
  return [dx / l - 0.25, dy / l - 0.45, dz / l + 0.15];
117
120
  }
118
- export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spec, pose = null, anims, camera = 'full', yaw = 0, faceWeights = null, debugOverlays = false, className, onReady, onTier, onFacts, onError, }, ref) {
121
+ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spec, pose = null, anims, camera = 'full', yaw = 0, faceWeights = null, speechService = null, debugOverlays = false, className, onReady, onTier, onFacts, onError, }, ref) {
119
122
  const canvasRef = useRef(null);
120
123
  const gpuRef = useRef(null);
121
124
  const [err, setErr] = useState(null);
@@ -158,6 +161,7 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
158
161
  const loadingPoseRef = useRef(new Set());
159
162
  const failedPoseRef = useRef(new Set());
160
163
  const idleClipIndexRef = useRef(0);
164
+ const jumpPresentationPhaseRef = useRef('grounded');
161
165
  const reportError = useCallback((message) => {
162
166
  setErr(message);
163
167
  onErrorRef.current?.(message);
@@ -302,7 +306,14 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
302
306
  const scene = new CharacterScene(device, format);
303
307
  const controller = new PreviewCharacterController();
304
308
  const world = createGameCharacterWorld({
305
- diagnostics: { level: 'trace' },
309
+ ...(speechService ? { speechService } : {}),
310
+ // Twenty seconds at 60 fps: enough to inspect an 8-second idle cycle,
311
+ // then download/replay it, while remaining strictly bounded.
312
+ diagnostics: {
313
+ level: 'trace',
314
+ maxTraceEvents: 6_000,
315
+ maxTraceFrames: 1_200,
316
+ },
306
317
  presentation: {
307
318
  sync: ({ actors }) => {
308
319
  const presented = actors[0];
@@ -320,6 +331,18 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
320
331
  scale: presented.transform.scale,
321
332
  });
322
333
  scene.setSpec(presented.spec);
334
+ scene.setGaze({
335
+ ...presented.attention.look.gaze,
336
+ eyeMaxYawDeg: presented.attention.look.eyeMaxYawDeg,
337
+ eyeMaxPitchDeg: presented.attention.look.eyeMaxPitchDeg,
338
+ headYawDeg: presented.attention.look.headYawDeg,
339
+ headPitchDeg: presented.attention.look.headPitchDeg,
340
+ });
341
+ const point = presented.attention.point;
342
+ scene.setPoint(point.active && point.hand && point.aimDirection
343
+ ? { hand: point.hand, direction: point.aimDirection }
344
+ : null);
345
+ scene.setFaceWeights(faceWeightsRef.current ?? presented.faceWeights, faceWeightsRef.current ? 'speech' : presented.face.source);
323
346
  },
324
347
  },
325
348
  });
@@ -342,8 +365,7 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
342
365
  }),
343
366
  };
344
367
  gpuRef.current = st;
345
- if (faceWeightsRef.current)
346
- scene.setFaceWeights(faceWeightsRef.current);
368
+ scene.setFaceWeights(faceWeightsRef.current);
347
369
  // ── THE ASSETS ──────────────────────────────────────────────────────────────────────
348
370
  //
349
371
  // `onTier` fires TWICE — the coarse prefix and the full container — and `setKit` is built
@@ -433,6 +455,29 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
433
455
  const aspect = w / h;
434
456
  controller.update(dtMs);
435
457
  world.update(dtMs);
458
+ const controllerIR = controller.inspect();
459
+ if (controllerIR.jumpPhase !== jumpPresentationPhaseRef.current) {
460
+ jumpPresentationPhaseRef.current = controllerIR.jumpPhase;
461
+ scene.setPreviewJumpPhase(controllerIR.jumpPhase);
462
+ actor.recordAnimationMarker(`jump-phase:${controllerIR.jumpPhase}`);
463
+ const jumpClip = animsRef.current
464
+ ? fbxClipNames(animsRef.current).find((id) => id.toLowerCase().includes('jump'))
465
+ : undefined;
466
+ if (controllerIR.jumpPhase === 'launch' && jumpClip) {
467
+ actor.playAnimation(jumpClip, {
468
+ loop: false,
469
+ layer: 'fullBody',
470
+ blendInMs: 120,
471
+ blendOutMs: TRY_OUT_LOCOMOTION_BLEND_OUT_MS,
472
+ rate: 1.8,
473
+ });
474
+ }
475
+ else if (controllerIR.jumpPhase === 'grounded' &&
476
+ jumpClip &&
477
+ actor.state.animations.fullBody.current?.id === jumpClip) {
478
+ actor.stopAnimationLayer('fullBody', `jump ${controllerIR.jumpPhase}`);
479
+ }
480
+ }
436
481
  ensurePoseClip(scene, live);
437
482
  // Per frame and idempotent, exactly like `setYaw`: the loop is created once and cannot
438
483
  // see later prop changes any other way.
@@ -452,7 +497,6 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
452
497
  cam.tgt[i] = cam.tgt[i] + (goal.tgt[i] - cam.tgt[i]) * k;
453
498
  }
454
499
  scene.update(cam.eye, dtMs);
455
- const controllerIR = controller.inspect();
456
500
  const renderReport = scene.runtimeReport(controllerIR, dtMs, actor.getTransform());
457
501
  actor.setRenderState(renderReport);
458
502
  scene.faceFrame();
@@ -470,6 +514,8 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
470
514
  controllerContact: controllerIR.contact,
471
515
  sockets: scene.debugRigReport().sockets,
472
516
  footContacts: renderReport.gait?.footContacts ?? [],
517
+ look: actor.state.look,
518
+ point: actor.state.point,
473
519
  }, camVP, c.clientWidth || 640, c.clientHeight || 480));
474
520
  }
475
521
  else if (!debugOverlaysRef.current && debugOverlay !== null) {
@@ -573,6 +619,9 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
573
619
  if (!st)
574
620
  return;
575
621
  st.actor.stopMoving('try out reset');
622
+ st.actor.stopClimbing('try out reset');
623
+ st.actor.aimAt(null);
624
+ void st.actor.drop();
576
625
  // Reset begins a fresh diagnostic/replay epoch, so animation pose state
577
626
  // must settle immediately instead of leaking a blend-out into frame 1.
578
627
  st.actor.resetAnimations('try out reset');
@@ -580,11 +629,9 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
580
629
  // Reset is also the boundary of a new replayable diagnostic epoch. A
581
630
  // long-running preview may have truncated its bounded boot history.
582
631
  st.world.clearTrace();
583
- const idles = idleFbxClipNames(animsRef.current);
584
- const idle = idles[0];
585
- idleClipIndexRef.current = idles.length > 1 ? 1 : 0;
586
- if (idle)
587
- st.actor.playAnimation(idle, { loop: true, layer: 'fullBody' });
632
+ idleClipIndexRef.current = 0;
633
+ jumpPresentationPhaseRef.current = 'grounded';
634
+ st.scene.setPreviewJumpPhase('grounded');
588
635
  },
589
636
  idleTryOut: () => {
590
637
  const st = gpuRef.current;
@@ -597,15 +644,26 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
597
644
  turn: 0,
598
645
  speed: 'walk',
599
646
  });
600
- const idles = idleFbxClipNames(animsRef.current);
601
- if (!idles.length) {
602
- st.actor.resetAnimations('idle selected');
603
- return;
604
- }
605
- const idle = idles[idleClipIndexRef.current % idles.length];
647
+ // The rig-native breathing stance is an intentional member of the cycle. It keeps the
648
+ // default safe even when the only authored "idle" is a one-frame pose, while repeated
649
+ // presses (and the timer in CharacterCreator) still exercise every configured idle.
650
+ const idles = [
651
+ ...idleFbxClipNames(animsRef.current),
652
+ null,
653
+ ];
654
+ const idle = idles[idleClipIndexRef.current % idles.length] ?? null;
606
655
  idleClipIndexRef.current =
607
656
  (idleClipIndexRef.current + 1) % idles.length;
608
- st.actor.playAnimation(idle, { loop: true, layer: 'fullBody' });
657
+ if (!idle) {
658
+ st.actor.stopAnimationLayer('fullBody', 'idle selected');
659
+ return;
660
+ }
661
+ st.actor.playAnimation(idle, {
662
+ loop: true,
663
+ layer: 'fullBody',
664
+ blendInMs: TRY_OUT_LOCOMOTION_BLEND_IN_MS,
665
+ blendOutMs: TRY_OUT_LOCOMOTION_BLEND_OUT_MS,
666
+ });
609
667
  },
610
668
  setTryOutControl: (control) => {
611
669
  const st = gpuRef.current;
@@ -613,23 +671,20 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
613
671
  return;
614
672
  st.actor.stopMoving('manual try out control');
615
673
  st.controller.setControlIntent(control);
616
- const moving = control.forward !== 0 || control.strafe !== 0;
617
- const gait = locomotionFbxClipName(animsRef.current, control.speed);
618
- if (moving && gait && st.actor.state.animation?.id !== gait)
619
- st.actor.playAnimation(gait, { loop: true, layer: 'fullBody' });
620
- if (!moving) {
621
- const active = st.actor.state.animation?.id;
622
- if (active &&
623
- ['walk', 'run'].some((name) => active.toLowerCase().includes(name))) {
624
- st.actor.stopAnimation('manual movement ended');
625
- const idle = idleFbxClipNames(animsRef.current)[0];
626
- if (idle)
627
- st.actor.playAnimation(idle, {
628
- loop: true,
629
- layer: 'fullBody',
630
- });
631
- }
632
- }
674
+ const selected = controlFbxAnimation(animsRef.current, control);
675
+ const current = st.actor.state.animations.fullBody.current;
676
+ if (selected &&
677
+ (current?.id !== selected.id ||
678
+ Math.abs(current.rate - selected.rate) > 1e-4))
679
+ st.actor.playAnimation(selected.id, {
680
+ loop: true,
681
+ layer: 'fullBody',
682
+ rate: selected.rate,
683
+ blendInMs: TRY_OUT_LOCOMOTION_BLEND_IN_MS,
684
+ blendOutMs: TRY_OUT_LOCOMOTION_BLEND_OUT_MS,
685
+ });
686
+ if (!selected && current)
687
+ st.actor.stopAnimationLayer('fullBody', 'manual control ended');
633
688
  },
634
689
  tryOutControllerIR: () => gpuRef.current?.controller.inspect() ?? null,
635
690
  moveTryOut: (direction, speed) => {
@@ -652,18 +707,23 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
652
707
  transform.position[1],
653
708
  transform.position[2] + axis[2] * 2,
654
709
  ], { speed, faceTarget: false });
655
- const gait = locomotionFbxClipName(animsRef.current, speed);
656
- if (gait) {
657
- st.actor.playAnimation(gait, { loop: true, layer: 'fullBody' });
710
+ const selected = controlFbxAnimation(animsRef.current, {
711
+ forward: direction === 'forward' ? 1 : direction === 'back' ? -1 : 0,
712
+ strafe: direction === 'right' ? 1 : direction === 'left' ? -1 : 0,
713
+ turn: 0,
714
+ speed,
715
+ });
716
+ if (selected) {
717
+ st.actor.playAnimation(selected.id, {
718
+ loop: true,
719
+ layer: 'fullBody',
720
+ rate: selected.rate,
721
+ blendInMs: TRY_OUT_LOCOMOTION_BLEND_IN_MS,
722
+ blendOutMs: TRY_OUT_LOCOMOTION_BLEND_OUT_MS,
723
+ });
658
724
  void move.done.then(() => {
659
- if (st.actor.state.animation?.id === gait) {
660
- st.actor.stopAnimation('movement ended');
661
- const idle = idleFbxClipNames(animsRef.current)[0];
662
- if (idle)
663
- st.actor.playAnimation(idle, {
664
- loop: true,
665
- layer: 'fullBody',
666
- });
725
+ if (st.actor.state.animation?.id === selected.id) {
726
+ st.actor.stopAnimationLayer('fullBody', 'movement ended');
667
727
  }
668
728
  });
669
729
  }
@@ -673,24 +733,57 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
673
733
  const st = gpuRef.current;
674
734
  if (!st)
675
735
  return;
676
- const jump = st.actor.jump();
677
- const clip = animsRef.current
678
- ? fbxClipNames(animsRef.current).find((id) => id.toLowerCase().includes('jump'))
679
- : undefined;
680
- if (clip) {
681
- st.actor.playAnimation(clip, { loop: false, layer: 'fullBody' });
682
- void jump.done.then(() => {
683
- if (st.actor.state.animation?.id === clip) {
684
- st.actor.stopAnimation('jump ended');
685
- const idle = idleFbxClipNames(animsRef.current)[0];
686
- if (idle)
687
- st.actor.playAnimation(idle, {
688
- loop: true,
689
- layer: 'fullBody',
690
- });
691
- }
736
+ st.actor.jump();
737
+ },
738
+ climbLadderTryOut: (direction) => {
739
+ const st = gpuRef.current;
740
+ if (!st)
741
+ return;
742
+ st.actor.climbLadder({
743
+ id: 'try-out-ladder',
744
+ bottomMount: [-2.5, 0, 2.5],
745
+ topMount: [-2.5, 2.4, 2.5],
746
+ axis: [0, 1, 0],
747
+ lengthM: 2.4,
748
+ rungSpacingM: 0.3,
749
+ }, { direction });
750
+ const clip = (animsRef.current ? fbxClipNames(animsRef.current) : []).find((name) => /climb|ladder/i.test(name));
751
+ if (clip)
752
+ st.actor.playAnimation(clip, {
753
+ layer: 'fullBody',
754
+ loop: true,
755
+ blendInMs: TRY_OUT_LOCOMOTION_BLEND_IN_MS,
756
+ blendOutMs: TRY_OUT_LOCOMOTION_BLEND_OUT_MS,
692
757
  });
693
- }
758
+ },
759
+ cancelTraversalTryOut: () => {
760
+ const st = gpuRef.current;
761
+ if (!st)
762
+ return;
763
+ st.actor.stopClimbing('try out cancel');
764
+ st.actor.stopAnimationLayer('fullBody', 'try out traversal cancelled');
765
+ },
766
+ aimTryOut: (active) => {
767
+ const st = gpuRef.current;
768
+ if (!st)
769
+ return;
770
+ const root = st.actor.getPosition();
771
+ st.actor.aimAt(active ? [root[0], root[1] + 1.25, root[2] + 4] : null);
772
+ },
773
+ shootTryOut: () => {
774
+ const st = gpuRef.current;
775
+ if (!st)
776
+ return;
777
+ const root = st.actor.getPosition();
778
+ st.actor.aimAt([root[0], root[1] + 1.25, root[2] + 4]);
779
+ const clip = (animsRef.current ? fbxClipNames(animsRef.current) : []).find((name) => /shoot|fire/i.test(name));
780
+ if (clip)
781
+ st.actor.playGesture(clip, {
782
+ loop: false,
783
+ blendInMs: 80,
784
+ blendOutMs: 180,
785
+ });
786
+ st.actor.recordAnimationMarker('muzzle');
694
787
  },
695
788
  exportTryOutTrace: () => gpuRef.current?.world.exportTrace() ?? null,
696
789
  replayTryOutTrace: () => {
@@ -748,7 +841,7 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
748
841
  return;
749
842
  orbitDragRef.current = null;
750
843
  e.currentTarget.style.cursor = 'grab';
751
- } }), debugOverlays && debugOverlay && (_jsxs("div", { "data-id": "character-debug-overlay", "aria-label": "Character debug overlay", style: { position: 'absolute', inset: 0, pointerEvents: 'none' }, children: [_jsxs("svg", { "aria-hidden": "true", width: "100%", height: "100%", style: { position: 'absolute', inset: 0, overflow: 'visible' }, children: [debugOverlay.rootLine && (_jsx("line", { "data-id": "debug-support-up-line", x1: debugOverlay.rootLine.x1, y1: debugOverlay.rootLine.y1, x2: debugOverlay.rootLine.x2, y2: debugOverlay.rootLine.y2, stroke: "#4ade80", strokeWidth: "2" })), debugOverlay.capsule && (_jsx("rect", { "data-id": "debug-kcc-capsule", x: debugOverlay.capsule.left, y: debugOverlay.capsule.top, width: debugOverlay.capsule.width, height: debugOverlay.capsule.height, rx: debugOverlay.capsule.width / 2, fill: "none", stroke: "rgba(96,165,250,.9)", strokeDasharray: "4 3" }))] }), debugOverlay.marks.map((mark) => (_jsx("span", { "data-id": `debug-${mark.id}`, "data-debug-kind": mark.kind, style: {
844
+ } }), debugOverlays && debugOverlay && (_jsxs("div", { "data-id": "character-debug-overlay", "aria-label": "Character debug overlay", style: { position: 'absolute', inset: 0, pointerEvents: 'none' }, children: [_jsxs("svg", { "aria-hidden": "true", width: "100%", height: "100%", style: { position: 'absolute', inset: 0, overflow: 'visible' }, children: [debugOverlay.rootLine && (_jsx("line", { "data-id": "debug-support-up-line", x1: debugOverlay.rootLine.x1, y1: debugOverlay.rootLine.y1, x2: debugOverlay.rootLine.x2, y2: debugOverlay.rootLine.y2, stroke: "#4ade80", strokeWidth: "2" })), debugOverlay.capsule && (_jsx("rect", { "data-id": "debug-kcc-capsule", x: debugOverlay.capsule.left, y: debugOverlay.capsule.top, width: debugOverlay.capsule.width, height: debugOverlay.capsule.height, rx: debugOverlay.capsule.width / 2, fill: "none", stroke: "rgba(96,165,250,.9)", strokeDasharray: "4 3" })), debugOverlay.attentionLines.map((line) => (_jsx("line", { "data-id": `debug-${line.id}-ray`, x1: line.x1, y1: line.y1, x2: line.x2, y2: line.y2, stroke: line.satisfied ? '#22d3ee' : '#fb7185', strokeWidth: "2", strokeDasharray: line.satisfied ? undefined : '5 3' }, line.id)))] }), debugOverlay.marks.map((mark) => (_jsx("span", { "data-id": `debug-${mark.id}`, "data-debug-kind": mark.kind, style: {
752
845
  position: 'absolute',
753
846
  left: mark.x,
754
847
  top: mark.y,
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterCanvas.js","sourceRoot":"","sources":["../../../src/character/client/CharacterCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CharacterCanvas.js","sourceRoot":"","sources":["../../../src/character/client/CharacterCanvas.tsx"],"names":[],"mappings":"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"}