@genex-ai/cli-demo 0.61.0-dev.141 → 0.62.0-dev.143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/index.js +976 -791
- package/package.json +1 -1
- package/templates/controllers/character/meshy/meshy-loader.ts +15 -1
- package/templates/skills/genex-ai-character/SKILL.md +19 -4
- package/templates/skills/genex-threejs-character-controller/SKILL.md +11 -0
- package/templates/skills/genex-threejs-character-controller/references/animations.md +5 -0
- package/templates/skills/genex-threejs-visual-validation/SKILL.md +4 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genex-ai/cli-demo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.62.0-dev.143",
|
|
4
4
|
"description": "Set up your project's agent workspace (.claude/.codex/.cursor in the game folder), authorize, create a game project, generate AI assets, and publish (genex CLI).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,6 +12,7 @@ export type MeshyMotionPolicy =
|
|
|
12
12
|
export type MeshyLocomotionBindingMode = "loop" | "one-shot" | "pose";
|
|
13
13
|
|
|
14
14
|
export interface MeshyLocomotionBinding {
|
|
15
|
+
actionId?: number;
|
|
15
16
|
clip: string;
|
|
16
17
|
mode: MeshyLocomotionBindingMode;
|
|
17
18
|
phase?: number;
|
|
@@ -23,7 +24,20 @@ export interface MeshyCharacterManifest {
|
|
|
23
24
|
revision: number;
|
|
24
25
|
manifestVersion: number;
|
|
25
26
|
rig: "meshy-biped";
|
|
26
|
-
controllerPack?: {
|
|
27
|
+
controllerPack?: {
|
|
28
|
+
key: string;
|
|
29
|
+
version: number;
|
|
30
|
+
fingerprint?: string;
|
|
31
|
+
actionIds?: number[];
|
|
32
|
+
};
|
|
33
|
+
provenance?: {
|
|
34
|
+
provider: "meshy";
|
|
35
|
+
aiModel: "meshy-6";
|
|
36
|
+
apiVersion?: string;
|
|
37
|
+
poseMode: "a-pose" | "t-pose";
|
|
38
|
+
shouldRemesh: boolean;
|
|
39
|
+
targetPolycount: number;
|
|
40
|
+
};
|
|
27
41
|
model: {
|
|
28
42
|
url: string;
|
|
29
43
|
heightMeters: number | null;
|
|
@@ -16,10 +16,12 @@ crossfades, transition rules, and multiplayer authority contract.
|
|
|
16
16
|
npx genex character "stylized desert courier, practical layered clothing"
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
The default request uses Meshy 6 to generate and
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
The default request uses Meshy 6 to generate, texture, remesh, and rig an
|
|
20
|
+
A-pose humanoid. It generates the required controller-pack actions for that
|
|
21
|
+
candidate and rejects bad structural or native motion instead of repairing it.
|
|
22
|
+
If any required check fails, it retries the complete workflow once in a strict
|
|
23
|
+
T-pose; optional actions start only after a full candidate passes. It remeshes
|
|
24
|
+
and rigs the accepted model, adds the immutable preview-reviewed neutral-v3
|
|
23
25
|
idle/walk/run/crouch/jump controller pack,
|
|
24
26
|
and stores every successful model
|
|
25
27
|
and clip at permanent Genex asset URLs. It prints the complete Genex-credit
|
|
@@ -83,6 +85,17 @@ after preview without asking the player to disable cache.
|
|
|
83
85
|
`playOneShot()` returns false and emits one warning when a requested clip is
|
|
84
86
|
absent; treat that as an installation failure, not a successful action.
|
|
85
87
|
|
|
88
|
+
Meshy limb rotations are played unchanged. Never freeze hand tracks or apply
|
|
89
|
+
post-mixer arm, leg, or foot corrections. A bad native rig or clip must be
|
|
90
|
+
rejected and regenerated. Only horizontal root/hip translation is normalized
|
|
91
|
+
so Rapier remains authoritative.
|
|
92
|
+
|
|
93
|
+
A controller pack is an immutable exact action set. If a required binding is
|
|
94
|
+
absent, installation fails instead of substituting Meshy's rig-basic Walking
|
|
95
|
+
or Running animation. During Meshy validation, record the action ID actually
|
|
96
|
+
bound to every slot. A public preview is not evidence when the game is playing
|
|
97
|
+
a different clip or a rig-basic fallback.
|
|
98
|
+
|
|
86
99
|
Load `$genex-threejs-character-controller` for the actual wiring. The install
|
|
87
100
|
command copies the shared controller plus `character/meshy/meshy-loader.ts`.
|
|
88
101
|
The manifest points at the current rigged model and compact animation-only GLBs
|
|
@@ -93,6 +106,8 @@ durations, nominal speeds, trajectories, and gameplay requirements.
|
|
|
93
106
|
|
|
94
107
|
- Meshy clips play only on the exact character revision whose skeleton
|
|
95
108
|
signature matches. There is no runtime retargeting in this lane.
|
|
109
|
+
- Do not repair hands, arms, or legs at runtime. Verify the installed manifest's
|
|
110
|
+
exact slot-to-action mappings; stop and regenerate when a native pose is bad.
|
|
96
111
|
- Rapier owns the player transform. Animation tracks are normalized
|
|
97
112
|
horizontally in place; never move the rendered character root separately.
|
|
98
113
|
- `controller-loop` clips follow controller-local intent and measured speed.
|
|
@@ -50,6 +50,13 @@ after preview without asking the player to disable cache. `playOneShot()`
|
|
|
50
50
|
returns false and emits one warning when a requested clip is absent; treat
|
|
51
51
|
that as an installation failure, not a successful action.
|
|
52
52
|
|
|
53
|
+
Meshy limb rotations are played unchanged. Never freeze hand tracks or apply
|
|
54
|
+
post-mixer arm, leg, or foot corrections. A bad native rig or clip must be
|
|
55
|
+
rejected and regenerated. Only horizontal root/hip translation is normalized
|
|
56
|
+
so Rapier remains authoritative. A controller pack is an immutable exact
|
|
57
|
+
action set: if a required binding is absent, installation fails instead of
|
|
58
|
+
substituting Meshy's rig-basic Walking or Running animation.
|
|
59
|
+
|
|
53
60
|
Because these files are game-owned, never run `genex controller character --force` over an edited
|
|
54
61
|
fork as a migration strategy. Install a fresh copy elsewhere and port only the named changes.
|
|
55
62
|
|
|
@@ -200,6 +207,10 @@ slots, fallbacks, and cadence data. UAL clips still land in
|
|
|
200
207
|
genre hints, `playOneShot` options, overrides, foot IK, and remote-player
|
|
201
208
|
animation.
|
|
202
209
|
|
|
210
|
+
For Meshy characters, do not repair hands, arms, or legs at runtime. Verify
|
|
211
|
+
that the installed manifest binds the expected action IDs; if a native pose
|
|
212
|
+
is bad or a required binding is missing, stop and regenerate the character.
|
|
213
|
+
|
|
203
214
|
## Crouch (built in)
|
|
204
215
|
|
|
205
216
|
`C` toggles crouch (capsule shrinks, speed drops to `crouchSpeedRatio ×
|
|
@@ -110,6 +110,11 @@ const anims = new CharacterAnimations(native.scene, native.clips, {
|
|
|
110
110
|
});
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
+
During Meshy validation, record the action ID actually bound to every slot.
|
|
114
|
+
A public preview is not evidence when the game is playing a different clip or
|
|
115
|
+
a rig-basic fallback. The native loader plays every limb quaternion unchanged;
|
|
116
|
+
never freeze hand tracks or add post-mixer arm, leg, or foot corrections.
|
|
117
|
+
|
|
113
118
|
The loader rejects clips whose manifest skeleton signature differs from the
|
|
114
119
|
current model revision or whose tracks target missing bones. This is deliberate
|
|
115
120
|
same-rig playback, not runtime retargeting. After adding an action, rerun the
|
|
@@ -54,6 +54,10 @@ everything twice.
|
|
|
54
54
|
visibly crouched pose both respond. If a control calls `playOneShot()`, a
|
|
55
55
|
false result or missing-clip warning is an installation failure even when
|
|
56
56
|
locomotion continues normally.
|
|
57
|
+
During Meshy validation, record the action ID actually bound to every slot.
|
|
58
|
+
A public preview is not evidence when the game is playing a different clip
|
|
59
|
+
or a rig-basic fallback. Do not repair hands, arms, or legs at runtime: if a
|
|
60
|
+
native pose is bad or a required binding is missing, stop and regenerate.
|
|
57
61
|
3. Capture one screenshot of live gameplay — of the **game**, not a sign-in
|
|
58
62
|
gate or loading screen. A capture of the SDK's "Sign in to play" overlay is
|
|
59
63
|
NOT gameplay evidence. Evidence captured in local test mode must be labeled
|