ugly-app 0.1.1002 → 0.1.1003

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.
@@ -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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"}
@@ -154,9 +154,9 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
154
154
  const debugUpdateMsRef = useRef(-Infinity);
155
155
  // Pose-driving state, in refs: the frame loop walks the scene toward `poseRef` (loading the
156
156
  // FBX lazily once the skeleton exists), so none of this may re-render.
157
- const appliedPoseRef = useRef(null);
158
157
  const warnedNoAnimsRef = useRef(false);
159
- const loadingPoseRef = useRef(null);
158
+ const loadingPoseRef = useRef(new Set());
159
+ const failedPoseRef = useRef(new Set());
160
160
  const reportError = useCallback((message) => {
161
161
  setErr(message);
162
162
  onErrorRef.current?.(message);
@@ -172,20 +172,33 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
172
172
  * pose requested before it simply waits.
173
173
  */
174
174
  const ensurePoseClip = (scene, live) => {
175
- const want = poseRef.current ?? gpuRef.current?.actor.state.animation?.id ?? null;
176
- if (want === appliedPoseRef.current)
175
+ const actor = gpuRef.current?.actor;
176
+ if (!actor)
177
177
  return;
178
- if (!want) {
178
+ const authoredPose = poseRef.current;
179
+ const animationState = actor.state.animations;
180
+ const wants = authoredPose
181
+ ? [authoredPose]
182
+ : Object.values(animationState).flatMap((layer) => [layer.outgoing?.id, layer.current?.id].filter((id) => id !== undefined));
183
+ if (authoredPose) {
184
+ scene.setAnimationLayers(null);
185
+ scene.setClip(authoredPose);
186
+ }
187
+ else {
179
188
  scene.setClip(null);
180
- appliedPoseRef.current = null;
181
- return;
189
+ scene.setAnimationLayers(animationState);
182
190
  }
191
+ const unloaded = [...new Set(wants)].filter((want) => !scene.hasClip(want) &&
192
+ !loadingPoseRef.current.has(want) &&
193
+ !failedPoseRef.current.has(want));
194
+ if (unloaded.length === 0)
195
+ return;
183
196
  const index = animsRef.current;
184
197
  if (!index) {
185
198
  // A pose with no index to load it from is a caller bug — said once, not once a frame.
186
199
  if (!warnedNoAnimsRef.current) {
187
200
  warnedNoAnimsRef.current = true;
188
- console.error(`[character] pose "${want}" was requested but no \`anims\` index was supplied — ` +
201
+ console.error(`[character] animation "${unloaded[0]}" was requested but no \`anims\` index was supplied — ` +
189
202
  'the FBX clips are the caller’s assets and nothing can play without them');
190
203
  }
191
204
  return;
@@ -193,30 +206,29 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
193
206
  const skel = scene.skeleton;
194
207
  if (!skel)
195
208
  return; // no kit yet — retried next frame
196
- if (loadingPoseRef.current === want)
197
- return;
198
- loadingPoseRef.current = want;
199
- void loadFbxClip(index, want, skel.names, skel.restQ, skel.heads, skel.parents)
200
- .then((clips) => {
201
- if (live.dead)
202
- return;
203
- loadingPoseRef.current = null;
204
- scene.addClips(clips);
205
- // ⚠️ The CLIP's name, not necessarily the index key: Mixamo files carry their own
206
- // (`mixamo.com` is replaced by the key, anything else is kept), so the picker name and
207
- // the clip name can differ.
208
- const pick = clips.some((c) => c.name === want)
209
- ? want
210
- : (clips[0]?.name ?? null);
211
- scene.setClip(pick);
212
- appliedPoseRef.current = want;
213
- })
214
- .catch((e) => {
215
- loadingPoseRef.current = null;
216
- // Recorded and NOT retried every frame — a broken FBX does not heal at 60 Hz.
217
- appliedPoseRef.current = want;
218
- console.error(`[character] clip "${want}" did not load`, e);
219
- });
209
+ for (const want of unloaded) {
210
+ loadingPoseRef.current.add(want);
211
+ scene.setClipPending(want, true);
212
+ void loadFbxClip(index, want, skel.names, skel.restQ, skel.heads, skel.parents)
213
+ .then((clips) => {
214
+ loadingPoseRef.current.delete(want);
215
+ scene.setClipPending(want, false);
216
+ if (live.dead)
217
+ return;
218
+ scene.addClips(clips);
219
+ // The runtime id remains the lookup key even when the FBX carries a different name.
220
+ const first = clips[0];
221
+ if (!scene.hasClip(want) && first)
222
+ scene.addClips([{ ...first, name: want }]);
223
+ })
224
+ .catch((e) => {
225
+ loadingPoseRef.current.delete(want);
226
+ scene.setClipPending(want, false);
227
+ // Recorded and NOT retried every frame — a broken FBX does not heal at 60 Hz.
228
+ failedPoseRef.current.add(want);
229
+ console.error(`[character] clip "${want}" did not load`, e);
230
+ });
231
+ }
220
232
  };
221
233
  // ── INIT — once per `source`. Everything else reaches the scene through refs/effects. ──────
222
234
  useEffect(() => {
@@ -580,7 +592,7 @@ export const CharacterCanvas = forwardRef(function CharacterCanvas({ source, spe
580
592
  transform.position[0] + axis[0] * 2,
581
593
  transform.position[1],
582
594
  transform.position[2] + axis[2] * 2,
583
- ], { speed });
595
+ ], { speed, faceTarget: false });
584
596
  const gait = animsRef.current
585
597
  ? fbxClipNames(animsRef.current).find((id) => id.toLowerCase().includes(speed))
586
598
  : undefined;
@@ -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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"}
@@ -0,0 +1,15 @@
1
+ import type { AnimLayer, RigInfo } from 'ugly-game/anim/animTypes';
2
+ import type { AnimClip } from 'ugly-game/assets/anim';
3
+ import type { CharacterAnimationLayers } from '../../game/index.js';
4
+ export declare const CLIP_UNAVAILABLE = "CHARACTER_ANIMATION_CLIP_UNAVAILABLE";
5
+ export declare const MASK_UNSUPPORTED = "CHARACTER_ANIMATION_MASK_UNSUPPORTED";
6
+ export interface CharacterAnimationPresentationPlan {
7
+ layers: AnimLayer[];
8
+ demotions: string[];
9
+ }
10
+ /**
11
+ * Translate renderer-neutral actor playback into ugly-game's actual evaluator stack.
12
+ * Clocks and weights are copied, never re-accumulated in the scene.
13
+ */
14
+ export declare function characterAnimationPresentationPlan(state: Readonly<CharacterAnimationLayers>, clips: ReadonlyMap<string, AnimClip>, rig: RigInfo, pendingClips?: ReadonlySet<string>): CharacterAnimationPresentationPlan;
15
+ //# sourceMappingURL=characterAnimationPresentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characterAnimationPresentation.d.ts","sourceRoot":"","sources":["../../../../src/character/client/lib/characterAnimationPresentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAa,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,gBAAgB,yCAAyC,CAAC;AACvE,eAAO,MAAM,gBAAgB,yCAAyC,CAAC;AAEvE,MAAM,WAAW,kCAAkC;IACjD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAuGD;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,QAAQ,CAAC,wBAAwB,CAAC,EACzC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,GAAG,EAAE,OAAO,EACZ,YAAY,GAAE,WAAW,CAAC,MAAM,CAAa,GAC5C,kCAAkC,CAiFpC"}
@@ -0,0 +1,128 @@
1
+ import { compileMask } from 'ugly-game/anim/animMask';
2
+ export const CLIP_UNAVAILABLE = 'CHARACTER_ANIMATION_CLIP_UNAVAILABLE';
3
+ export const MASK_UNSUPPORTED = 'CHARACTER_ANIMATION_MASK_UNSUPPORTED';
4
+ const ORDER = [
5
+ 'fullBody',
6
+ 'upperBody',
7
+ 'additive',
8
+ ];
9
+ function demotion(code, layer, value) {
10
+ return `${code}|layer=${layer}|value=${value}`;
11
+ }
12
+ function maskSelector(layer, requested) {
13
+ if (requested === 'fullBody' || requested === '*')
14
+ return null;
15
+ if (requested)
16
+ return requested;
17
+ // The layer name is semantic, not decorative: upper-body actions must not
18
+ // silently replace locomotion merely because their caller omitted a mask.
19
+ return layer === 'upperBody' ? 'Spine1+' : null;
20
+ }
21
+ function resolveMask(rig, layer, playback, demotions) {
22
+ const selector = maskSelector(layer, playback.mask);
23
+ if (selector === null)
24
+ return null;
25
+ try {
26
+ // Published ugly-game's declaration cross-import is extensionless under
27
+ // NodeNext, so explicitly widen its structurally identical BoneMask here.
28
+ return compileMask(rig, {
29
+ bones: selector.includes(',')
30
+ ? selector
31
+ .split(',')
32
+ .map((part) => part.trim())
33
+ .filter(Boolean)
34
+ : selector,
35
+ feather: layer === 'upperBody' ? 1 : 0,
36
+ });
37
+ }
38
+ catch {
39
+ demotions.push(demotion(MASK_UNSUPPORTED, layer, selector));
40
+ return undefined;
41
+ }
42
+ }
43
+ function resolveSlot(clips, pendingClips, layer, playback, demotions) {
44
+ if (!playback || playback.weight <= 0)
45
+ return null;
46
+ const clip = clips.get(playback.id);
47
+ if (!clip) {
48
+ if (!pendingClips.has(playback.id))
49
+ demotions.push(demotion(CLIP_UNAVAILABLE, layer, playback.id));
50
+ return null;
51
+ }
52
+ return {
53
+ slot: {
54
+ clip,
55
+ time: playback.timeMs / 1000,
56
+ loop: playback.loop,
57
+ },
58
+ playback,
59
+ };
60
+ }
61
+ function oneLayer(name, mode, weight, mask, current, previous = null, blendT = 1) {
62
+ return {
63
+ name,
64
+ mode,
65
+ weight: Math.max(0, Math.min(1, weight)),
66
+ mask,
67
+ current,
68
+ previous,
69
+ blendT,
70
+ blendMs: previous ? 1 : 0,
71
+ blendSign: null,
72
+ reference: null,
73
+ };
74
+ }
75
+ function sameMask(a, b) {
76
+ if (a === null || b === null)
77
+ return a === b;
78
+ if (a.length !== b.length)
79
+ return false;
80
+ for (let i = 0; i < a.length; i++)
81
+ if (a[i] !== b[i])
82
+ return false;
83
+ return true;
84
+ }
85
+ /**
86
+ * Translate renderer-neutral actor playback into ugly-game's actual evaluator stack.
87
+ * Clocks and weights are copied, never re-accumulated in the scene.
88
+ */
89
+ export function characterAnimationPresentationPlan(state, clips, rig, pendingClips = new Set()) {
90
+ const layers = [];
91
+ const demotions = [];
92
+ for (const layerName of ORDER) {
93
+ const stateLayer = state[layerName];
94
+ const mode = stateLayer.mode;
95
+ const outgoing = resolveSlot(clips, pendingClips, layerName, stateLayer.outgoing, demotions);
96
+ const current = resolveSlot(clips, pendingClips, layerName, stateLayer.current, demotions);
97
+ if (!outgoing && !current)
98
+ continue;
99
+ const outgoingMask = outgoing
100
+ ? resolveMask(rig, layerName, outgoing.playback, demotions)
101
+ : null;
102
+ const currentMask = current
103
+ ? resolveMask(rig, layerName, current.playback, demotions)
104
+ : null;
105
+ const validOutgoing = outgoing && outgoingMask !== undefined ? outgoing : null;
106
+ const validCurrent = current && currentMask !== undefined ? current : null;
107
+ if (!validOutgoing && !validCurrent)
108
+ continue;
109
+ // A shared mask can use ugly-game's native previous/current crossfade slot.
110
+ // `weight` is the total contribution and `blendT` partitions it, preserving
111
+ // actor current/outgoing weights exactly for translations and scales.
112
+ if (validOutgoing &&
113
+ validCurrent &&
114
+ sameMask(outgoingMask ?? null, currentMask ?? null)) {
115
+ const total = validOutgoing.playback.weight + validCurrent.playback.weight;
116
+ layers.push(oneLayer(layerName, mode, total, currentMask ?? null, validCurrent.slot, validOutgoing.slot, total > 0 ? validCurrent.playback.weight / total : 1));
117
+ continue;
118
+ }
119
+ // Different masks cannot occupy one evaluator crossfade slot. Keeping two
120
+ // ordered layers is truthful and preserves each requested mask and weight.
121
+ if (validOutgoing)
122
+ layers.push(oneLayer(`${layerName}:outgoing`, mode, validOutgoing.playback.weight, outgoingMask ?? null, validOutgoing.slot));
123
+ if (validCurrent)
124
+ layers.push(oneLayer(layerName, mode, validCurrent.playback.weight, currentMask ?? null, validCurrent.slot));
125
+ }
126
+ return { layers, demotions: [...new Set(demotions)] };
127
+ }
128
+ //# sourceMappingURL=characterAnimationPresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characterAnimationPresentation.js","sourceRoot":"","sources":["../../../../src/character/client/lib/characterAnimationPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAStD,MAAM,CAAC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAOvE,MAAM,KAAK,GAAuC;IAChD,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC;AAEF,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa;IAC1D,OAAO,GAAG,IAAI,UAAU,KAAK,UAAU,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CACnB,KAA8B,EAC9B,SAAwB;IAExB,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,0EAA0E;IAC1E,0EAA0E;IAC1E,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAClB,GAAY,EACZ,KAA8B,EAC9B,QAAoC,EACpC,SAAmB;IAEnB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,wEAAwE;QACxE,0EAA0E;QAC1E,OAAO,WAAW,CAAC,GAAG,EAAE;YACtB,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC3B,CAAC,CAAC,QAAQ;qBACL,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC1B,MAAM,CAAC,OAAO,CAAC;gBACpB,CAAC,CAAC,QAAQ;YACZ,OAAO,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC,CAAiB,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,KAAoC,EACpC,YAAiC,EACjC,KAA8B,EAC9B,QAA2C,EAC3C,SAAmB;IAEnB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI,EAAE;YACJ,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI;YAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,IAAY,EACZ,IAA6B,EAC7B,MAAc,EACd,IAAyB,EACzB,OAAkB,EAClB,WAA6B,IAAI,EACjC,MAAM,GAAG,CAAC;IAEV,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAsB,EAAE,CAAsB;IAC9D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAChD,KAAyC,EACzC,KAAoC,EACpC,GAAY,EACZ,eAAoC,IAAI,GAAG,EAAE;IAE7C,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAC1B,KAAK,EACL,YAAY,EACZ,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,SAAS,CACV,CAAC;QACF,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,UAAU,CAAC,OAAO,EAClB,SAAS,CACV,CAAC;QACF,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,SAAS;QAEpC,MAAM,YAAY,GAAG,QAAQ;YAC3B,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,OAAO;YACzB,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,aAAa,GACjB,QAAQ,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,MAAM,YAAY,GAAG,OAAO,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY;YAAE,SAAS;QAE9C,4EAA4E;QAC5E,4EAA4E;QAC5E,sEAAsE;QACtE,IACE,aAAa;YACb,YAAY;YACZ,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,EACnD,CAAC;YACD,MAAM,KAAK,GACT,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/D,MAAM,CAAC,IAAI,CACT,QAAQ,CACN,SAAS,EACT,IAAI,EACJ,KAAK,EACL,WAAW,IAAI,IAAI,EACnB,YAAY,CAAC,IAAI,EACjB,aAAa,CAAC,IAAI,EAClB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CACrD,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,aAAa;YACf,MAAM,CAAC,IAAI,CACT,QAAQ,CACN,GAAG,SAAS,WAAW,EACvB,IAAI,EACJ,aAAa,CAAC,QAAQ,CAAC,MAAM,EAC7B,YAAY,IAAI,IAAI,EACpB,aAAa,CAAC,IAAI,CACnB,CACF,CAAC;QACJ,IAAI,YAAY;YACd,MAAM,CAAC,IAAI,CACT,QAAQ,CACN,SAAS,EACT,IAAI,EACJ,YAAY,CAAC,QAAQ,CAAC,MAAM,EAC5B,WAAW,IAAI,IAAI,EACnB,YAAY,CAAC,IAAI,CAClB,CACF,CAAC;IACN,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC"}
@@ -5,6 +5,7 @@ import type { CharPart } from './charParts.js';
5
5
  import type { HairMeshes } from './charHair.js';
6
6
  import { type GarmentKit } from './charGarment.js';
7
7
  import type { SkinCache } from './skinTextures.js';
8
+ import type { CharacterAnimationLayers } from '../../game/index.js';
8
9
  export interface CharacterRigDebugReport {
9
10
  sockets: Readonly<Partial<Record<'head' | 'leftHand' | 'rightHand' | 'leftFoot' | 'rightFoot', [
10
11
  number,
@@ -55,7 +56,10 @@ export declare class CharacterScene {
55
56
  private hairModel;
56
57
  private hairInstances;
57
58
  private clips;
59
+ private pendingClips;
58
60
  private clipName;
61
+ private animationLayers;
62
+ private animationDemotions;
59
63
  /** Monotonic accumulated phase — never `elapsed · speed`, the jump trap upstream documents. */
60
64
  private clipElapsed;
61
65
  /** External face driver (47 floats, `FACE_CHANNEL_NAMES` order), or null for the idle blink. */
@@ -149,8 +153,12 @@ export declare class CharacterScene {
149
153
  * that looks exactly like a clip that failed to stop.
150
154
  */
151
155
  setClip(name: string | null): void;
156
+ /** Actor-owned clocks/layers for the live ugly-game evaluator; null selects legacy setClip(). */
157
+ setAnimationLayers(state: Readonly<CharacterAnimationLayers> | null): void;
152
158
  /** The names of the clips that actually parsed — what a picker must be built from. */
153
159
  get clipNames(): string[];
160
+ hasClip(name: string): boolean;
161
+ setClipPending(name: string, pending: boolean): void;
154
162
  /**
155
163
  * Hand the face to an external driver: 47 weights in `FACE_CHANNEL_NAMES` order, cheap enough
156
164
  * to write every frame. Null returns the face to the idle blink.
@@ -1 +1 @@
1
- {"version":3,"file":"characterScene.d.ts","sourceRoot":"","sources":["../../../../src/character/client/lib/characterScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"characterScene.d.ts","sourceRoot":"","sources":["../../../../src/character/client/lib/characterScene.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@
22
22
  import { CROWD_RECORD_FLOATS, GpuCrowdRenderer, makeMergeScratch, mergeTargets, validateBuckets, writeCrowdRecord, } from 'ugly-game/assets/gpuCrowd';
23
23
  import { GpuSkinRenderer } from 'ugly-game/assets/gpuSkin';
24
24
  import { GpuPropsRenderer } from 'ugly-game/assets/gpuProps';
25
+ import { evalWithStats } from 'ugly-game/anim/animEval';
25
26
  import { CharPool, pickLod } from '../../shared/lib/charPool.js';
26
27
  import { charTiers, crowdSlotVerts, targetIndex, targetWeights, } from '../../shared/lib/charUgm.js';
27
28
  import { deriveCharRig, morphRigVerts } from '../../shared/lib/charRig.js';
@@ -37,6 +38,7 @@ import { GroundGrid, GROUND_BASE, GROUND_LINE } from './groundGrid.js';
37
38
  import { approachArray, approachFactor, approachScalar, CHAR_HALF_LIFE_MS, } from '../../shared/lib/ease.js';
38
39
  import { CharPartDraw } from './charPartDraw.js';
39
40
  import { conformGarment, drapeOverInner, GARMENT_SLOTS, garmentNormals, transferSkinWeights, wornOver, } from './charGarment.js';
41
+ import { characterAnimationPresentationPlan } from './characterAnimationPresentation.js';
40
42
  /**
41
43
  * How often the worn garments are re-conformed WHILE the body is still moving, in ms.
42
44
  *
@@ -141,7 +143,10 @@ export class CharacterScene {
141
143
  hairModel = [];
142
144
  hairInstances = [];
143
145
  clips = new Map();
146
+ pendingClips = new Set();
144
147
  clipName = null;
148
+ animationLayers = null;
149
+ animationDemotions = [];
145
150
  /** Monotonic accumulated phase — never `elapsed · speed`, the jump trap upstream documents. */
146
151
  clipElapsed = 0;
147
152
  /** External face driver (47 floats, `FACE_CHANNEL_NAMES` order), or null for the idle blink. */
@@ -440,10 +445,23 @@ export class CharacterScene {
440
445
  if (!name)
441
446
  this.poseStanding(0);
442
447
  }
448
+ /** Actor-owned clocks/layers for the live ugly-game evaluator; null selects legacy setClip(). */
449
+ setAnimationLayers(state) {
450
+ this.animationLayers = state;
451
+ }
443
452
  /** The names of the clips that actually parsed — what a picker must be built from. */
444
453
  get clipNames() {
445
454
  return [...this.clips.keys()].sort();
446
455
  }
456
+ hasClip(name) {
457
+ return this.clips.has(name);
458
+ }
459
+ setClipPending(name, pending) {
460
+ if (pending)
461
+ this.pendingClips.add(name);
462
+ else
463
+ this.pendingClips.delete(name);
464
+ }
447
465
  /**
448
466
  * Hand the face to an external driver: 47 weights in `FACE_CHANNEL_NAMES` order, cheap enough
449
467
  * to write every frame. Null returns the face to the idle blink.
@@ -1034,11 +1052,30 @@ export class CharacterScene {
1034
1052
  // ── POSE, then GAZE, then FACE — the order is the feature, see `aimEyes` ───────────────
1035
1053
  const clip = this.clipName ? (this.clips.get(this.clipName) ?? null) : null;
1036
1054
  const rig = c.rig ?? this.sharedRig;
1037
- if (clip && rig) {
1055
+ if (this.animationLayers && rig) {
1056
+ const evaluatorRig = {
1057
+ names: kit.skeleton.names,
1058
+ parents: rig.parents,
1059
+ restLocals: rig.restLocals,
1060
+ inverseBind: rig.inverseBind,
1061
+ };
1062
+ const plan = characterAnimationPresentationPlan(this.animationLayers, this.clips, evaluatorRig, this.pendingClips);
1063
+ this.animationDemotions = plan.demotions;
1064
+ if (plan.layers.length > 0) {
1065
+ this.palettes.set(evalWithStats(evaluatorRig, plan.layers).palette, 0);
1066
+ this.palettesDirty = true;
1067
+ }
1068
+ else {
1069
+ this.poseStanding(this.clockS);
1070
+ }
1071
+ }
1072
+ else if (clip && rig) {
1073
+ this.animationDemotions = [];
1038
1074
  this.palettes.set(palettePosedByClip(rig, clip, clipPhase(0, this.clipElapsed, clip.duration)), 0);
1039
1075
  this.palettesDirty = true;
1040
1076
  }
1041
1077
  else {
1078
+ this.animationDemotions = [];
1042
1079
  this.poseStanding(this.clockS);
1043
1080
  }
1044
1081
  this.aimEyes();
@@ -1299,7 +1336,7 @@ export class CharacterScene {
1299
1336
  hairTier: this.hairInstances.length > 0 ? 1 : 0,
1300
1337
  clothTier: this.garmentCreatures.length > 0 ? 1 : 0,
1301
1338
  visible: this.ready && this.char.lod >= 0,
1302
- demotions: [],
1339
+ demotions: [...this.animationDemotions],
1303
1340
  };
1304
1341
  }
1305
1342
  /** Seconds since the scene's first update — the breathing/blink clock. */