@genex-ai/cli-demo 0.63.0-dev.152 → 0.64.0-dev.154
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 +28 -10
- package/dist/index.js +635 -78
- package/package.json +1 -1
- package/templates/controllers/character/meshy/meshy-loader.ts +9 -0
- package/templates/skills/genex-ai-character/SKILL.md +72 -20
- package/templates/skills/genex-threejs-character-controller/SKILL.md +36 -11
- package/templates/skills/genex-threejs-character-controller/references/animations.md +15 -4
- package/templates/skills/genex-threejs-skill-router/SKILL.md +26 -6
- package/templates/skills/genex-threejs-skill-router/references/routing-map.md +13 -1
- package/templates/skills/genex-threejs-visual-validation/SKILL.md +32 -1
- package/templates/skills/genex-threejs-visual-validation/references/visual-validation.md +21 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genex-ai/cli-demo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.64.0-dev.154",
|
|
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": {
|
|
@@ -34,9 +34,18 @@ export interface MeshyCharacterManifest {
|
|
|
34
34
|
provider: "meshy";
|
|
35
35
|
aiModel: "meshy-6";
|
|
36
36
|
apiVersion?: string;
|
|
37
|
+
meshyApiVersion?: string;
|
|
37
38
|
poseMode: "a-pose" | "t-pose";
|
|
38
39
|
shouldRemesh: boolean;
|
|
39
40
|
targetPolycount: number;
|
|
41
|
+
conceptModel?: string;
|
|
42
|
+
conceptGenerationId?: string;
|
|
43
|
+
conceptCandidate?: number;
|
|
44
|
+
sourceFaceCount?: number;
|
|
45
|
+
remeshTargetFaceCount?: number;
|
|
46
|
+
remeshActualFaceCount?: number;
|
|
47
|
+
remeshTopology?: "triangle";
|
|
48
|
+
previewGenerationId?: string;
|
|
40
49
|
};
|
|
41
50
|
model: {
|
|
42
51
|
url: string;
|
|
@@ -12,33 +12,83 @@ crossfades, transition rules, and multiplayer authority contract.
|
|
|
12
12
|
|
|
13
13
|
## Generate a controller-ready character
|
|
14
14
|
|
|
15
|
+
Before generating a Meshy character, discuss two or three visual directions.
|
|
16
|
+
When the user names a visual reference, inspect references before writing the
|
|
17
|
+
concept prompt. Recommend a neutral A-pose for characters that will be rigged.
|
|
18
|
+
Ask which equipment and color direction matter, and explain that every
|
|
19
|
+
riggable concept uses that neutral pose instead of an action pose.
|
|
20
|
+
|
|
21
|
+
Generate exactly three concept candidates for the chosen direction. Lock all
|
|
22
|
+
three to a neutral A-pose: never use a dynamic concept pose. Warn before
|
|
23
|
+
generation when held, slung, or overlapping props, straps, clothing, or gear
|
|
24
|
+
may fuse into the body or obscure a limb; recommend generating gameplay props
|
|
25
|
+
separately.
|
|
26
|
+
|
|
15
27
|
```bash
|
|
16
28
|
npx genex character "stylized desert courier, practical layered clothing"
|
|
17
29
|
```
|
|
18
30
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
Generate concept images first and show the actual images to the user. Do not
|
|
32
|
+
start Image-to-3D until the user explicitly selects a candidate.
|
|
33
|
+
|
|
34
|
+
Open or link all three real candidate images, then wait for the user's choice.
|
|
35
|
+
Do not treat a text description, task ID, filename, or your own preference as
|
|
36
|
+
approval. Continue with the selected candidate only:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx genex character preview <concept-id> --candidate <1|2|3> --user-approved
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Meshy Image-to-3D first produces an unremeshed high-detail model. Show its
|
|
43
|
+
front, back, left, and right views and report its measured face count. Preserve
|
|
44
|
+
that model in R2. Before rigging, ask the user to approve a separate
|
|
45
|
+
10,000-face triangle remesh. The 10k remesh—not the high-detail source—is
|
|
46
|
+
rigged and animated.
|
|
47
|
+
|
|
48
|
+
The high-detail pre-rig generation stays in the selected neutral A-pose. There
|
|
49
|
+
is no dynamic-pose concept and no silent T-pose fallback. After the user has
|
|
50
|
+
seen the four views and face count, wait for explicit approval and finalize:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx genex character finalize <preview-id> \
|
|
54
|
+
--user-approved \
|
|
55
|
+
--approve-remesh 10000 \
|
|
56
|
+
--animation <action-id>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`--animation` is repeatable. Finalization uses Meshy 6, creates the approved
|
|
60
|
+
10k triangle remesh, rigs it, adds the immutable preview-reviewed neutral-v3
|
|
61
|
+
idle/walk/run/crouch/jump controller pack, and stores the source, remesh, rig,
|
|
62
|
+
and clips at permanent Genex asset URLs. It prints the complete Genex-credit
|
|
28
63
|
quote before enqueueing. The Meshy API key remains server-side; never ask the
|
|
29
64
|
user for one or call Meshy directly from game code.
|
|
30
65
|
|
|
66
|
+
Meshy's public API performs automatic rigging. The manual joint-marker step
|
|
67
|
+
shown in Meshy Web is not exposed through that API, so do not claim that this
|
|
68
|
+
part of the hosted workflow is reproduced.
|
|
69
|
+
|
|
70
|
+
The legacy one-shot text workflow is explicit and does not masquerade as the
|
|
71
|
+
reviewed image-first path:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx genex character "compact fantasy knight" --direct-text
|
|
75
|
+
```
|
|
76
|
+
|
|
31
77
|
Useful options:
|
|
32
78
|
|
|
33
79
|
```bash
|
|
34
|
-
npx genex character
|
|
35
|
-
npx genex character
|
|
80
|
+
npx genex character finalize <preview-id> --user-approved --approve-remesh 10000 --height 1.7
|
|
81
|
+
npx genex character finalize <preview-id> --user-approved --approve-remesh 10000 --animation 466 --no-wait
|
|
36
82
|
npx genex wait <generation-id>
|
|
37
83
|
```
|
|
38
84
|
|
|
39
|
-
`--animation <id-or-query>` is repeatable
|
|
40
|
-
|
|
41
|
-
|
|
85
|
+
`--animation <id-or-query>` is repeatable on `finalize`.
|
|
86
|
+
`--no-controller-pack` is available only with the explicit `--direct-text`
|
|
87
|
+
compatibility path. The guided parity workflow always installs neutral-v3.
|
|
88
|
+
`--no-wait` returns a generation id for `genex wait`; it does not create a
|
|
89
|
+
second paid request. Never add `--user-approved` until the user has actually
|
|
90
|
+
seen and selected the candidate; never add `--approve-remesh 10000` until they
|
|
91
|
+
have actually seen the four high-detail views and measured face count.
|
|
42
92
|
|
|
43
93
|
Before handoff, capture idle, walk, run, crouch-idle, crouch-move, and jump.
|
|
44
94
|
Inspect shoulders, elbows, wrists, and hands as well as the feet. Reject
|
|
@@ -85,10 +135,12 @@ after preview without asking the player to disable cache.
|
|
|
85
135
|
`playOneShot()` returns false and emits one warning when a requested clip is
|
|
86
136
|
absent; treat that as an installation failure, not a successful action.
|
|
87
137
|
|
|
88
|
-
Meshy limb rotations
|
|
89
|
-
post-mixer arm, leg, or foot corrections.
|
|
90
|
-
|
|
91
|
-
|
|
138
|
+
Meshy limb rotations play unchanged. Never freeze hand tracks or apply
|
|
139
|
+
post-mixer arm, hand, leg, or foot corrections. Only horizontal root or hip
|
|
140
|
+
translation may be normalized for Rapier.
|
|
141
|
+
|
|
142
|
+
A bad native rig or clip must be rejected and regenerated; validation never
|
|
143
|
+
rewrites limb animation.
|
|
92
144
|
|
|
93
145
|
A controller pack is an immutable exact action set. If a required binding is
|
|
94
146
|
absent, installation fails instead of substituting Meshy's rig-basic Walking
|
|
@@ -108,8 +160,8 @@ durations, nominal speeds, trajectories, and gameplay requirements.
|
|
|
108
160
|
signature matches. There is no runtime retargeting in this lane.
|
|
109
161
|
- Do not repair hands, arms, or legs at runtime. Verify the installed manifest's
|
|
110
162
|
exact slot-to-action mappings; stop and regenerate when a native pose is bad.
|
|
111
|
-
- Rapier owns the player transform.
|
|
112
|
-
|
|
163
|
+
- Rapier owns the player transform. Only horizontal root or hip translation may
|
|
164
|
+
be normalized; never move the rendered character root separately.
|
|
113
165
|
- `controller-loop` clips follow controller-local intent and measured speed.
|
|
114
166
|
The state machine crossfades idle, walk, run, jump, directional slots, and
|
|
115
167
|
explicit fallbacks exactly as it does for VRM + UAL.
|
|
@@ -32,14 +32,33 @@ platforms, climbs stairs and slides on too-steep slopes out of the box.
|
|
|
32
32
|
|
|
33
33
|
Use the VRM + UAL lane above by default. When the game needs a custom generated
|
|
34
34
|
humanoid or an action unavailable in UAL, load `$genex-ai-character`, search
|
|
35
|
-
Meshy's library first,
|
|
35
|
+
Meshy's library first, and follow the reviewed image-first generation flow.
|
|
36
|
+
|
|
37
|
+
Before generating a Meshy character, discuss two or three visual directions.
|
|
38
|
+
When the user names a visual reference, inspect references before writing the
|
|
39
|
+
concept prompt. Recommend a neutral A-pose for characters that will be rigged.
|
|
40
|
+
|
|
41
|
+
Generate concept images first and show the actual images to the user. Do not
|
|
42
|
+
start Image-to-3D until the user explicitly selects a candidate. All three
|
|
43
|
+
concepts and the selected high-detail pre-rig generation stay in a neutral
|
|
44
|
+
A-pose; never use a dynamic concept pose or silently substitute a T-pose. Warn
|
|
45
|
+
that held, slung, or overlapping props and straps can fuse into the body or
|
|
46
|
+
obscure limbs, and recommend separate gameplay props.
|
|
36
47
|
|
|
37
48
|
```bash
|
|
38
49
|
npx genex animations search "rifle reload" --json
|
|
39
|
-
npx genex character "stylized sci-fi courier, practical clothing"
|
|
50
|
+
npx genex character "stylized sci-fi courier, practical clothing"
|
|
51
|
+
npx genex character preview <concept-id> --candidate <1|2|3> --user-approved
|
|
52
|
+
npx genex character finalize <preview-id> --user-approved --approve-remesh 10000 --animation 466
|
|
40
53
|
npx genex controller character --character <character-id>
|
|
41
54
|
```
|
|
42
55
|
|
|
56
|
+
Meshy Image-to-3D first produces an unremeshed high-detail model. Show its
|
|
57
|
+
front, back, left, and right views and report its measured face count. Preserve
|
|
58
|
+
that model in R2. Before rigging, ask the user to approve a separate
|
|
59
|
+
10,000-face triangle remesh. The 10k remesh—not the high-detail source—is
|
|
60
|
+
rigged and animated.
|
|
61
|
+
|
|
43
62
|
That is a separate, **same-rig Meshy-native lane**. Its animation-only GLBs are
|
|
44
63
|
accepted only when their skeleton signature matches the active character
|
|
45
64
|
revision; this lane does no runtime retargeting. The shared ECCTRL-derived
|
|
@@ -52,12 +71,12 @@ after preview without asking the player to disable cache. `playOneShot()`
|
|
|
52
71
|
returns false and emits one warning when a requested clip is absent; treat
|
|
53
72
|
that as an installation failure, not a successful action.
|
|
54
73
|
|
|
55
|
-
Meshy limb rotations
|
|
56
|
-
post-mixer arm, leg, or foot corrections.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
74
|
+
Meshy limb rotations play unchanged. Never freeze hand tracks or apply
|
|
75
|
+
post-mixer arm, hand, leg, or foot corrections. Only horizontal root or hip
|
|
76
|
+
translation may be normalized for Rapier. A bad native rig or clip must be
|
|
77
|
+
rejected and regenerated. A controller pack is an immutable exact action set:
|
|
78
|
+
if a required binding is absent, installation fails instead of substituting
|
|
79
|
+
Meshy's rig-basic Walking or Running animation.
|
|
61
80
|
|
|
62
81
|
Because these files are game-owned, never run `genex controller character --force` over an edited
|
|
63
82
|
fork as a migration strategy. Install a fresh copy elsewhere and port only the named changes.
|
|
@@ -204,6 +223,9 @@ npx genex controller anims sword pistol # a sword+shooter game
|
|
|
204
223
|
npx genex controller anims stealth climb crawl # a ninja game
|
|
205
224
|
npx genex controller anims --list # browse tags; --list <tag> for per-clip details
|
|
206
225
|
npx genex animations search "rifle reload" --json
|
|
226
|
+
npx genex character "stylized sci-fi courier, practical clothing"
|
|
227
|
+
npx genex character preview <concept-id> --candidate <1|2|3> --user-approved
|
|
228
|
+
npx genex character finalize <preview-id> --user-approved --approve-remesh 10000
|
|
207
229
|
npx genex character animate <character-id> --action <action-id>
|
|
208
230
|
npx genex controller character --character <character-id> # refresh the manifest
|
|
209
231
|
```
|
|
@@ -217,9 +239,12 @@ slots, fallbacks, and cadence data. UAL clips still land in
|
|
|
217
239
|
genre hints, `playOneShot` options, overrides, foot IK, and remote-player
|
|
218
240
|
animation.
|
|
219
241
|
|
|
220
|
-
For Meshy characters, do not repair hands, arms, or legs at runtime.
|
|
221
|
-
|
|
222
|
-
|
|
242
|
+
For Meshy characters, do not repair hands, arms, or legs at runtime. Meshy limb
|
|
243
|
+
rotations play unchanged. Never freeze hand tracks or apply post-mixer arm,
|
|
244
|
+
hand, leg, or foot corrections. Only horizontal root or hip translation may be
|
|
245
|
+
normalized for Rapier. Verify that the installed manifest binds the expected
|
|
246
|
+
action IDs; if a native pose is bad or a required binding is missing, stop and
|
|
247
|
+
regenerate the character.
|
|
223
248
|
|
|
224
249
|
## Crouch (built in)
|
|
225
250
|
|
|
@@ -82,15 +82,25 @@ the time scale so slow motion doesn't pop).
|
|
|
82
82
|
Use this lane when a game needs a custom generated humanoid or catalog depth
|
|
83
83
|
that the personal-VRM library does not cover: sports, dance, tactical actions,
|
|
84
84
|
prop interactions, or authored traversal. Load `$genex-ai-character`, search
|
|
85
|
-
first,
|
|
85
|
+
first, then use the reviewed concept → high-detail preview → approved 10k
|
|
86
|
+
triangle-remesh flow before adding exact action IDs:
|
|
86
87
|
|
|
87
88
|
```bash
|
|
88
89
|
npx genex animations search "rifle reload" --json
|
|
89
|
-
npx genex character "stylized sci-fi courier, practical clothing"
|
|
90
|
+
npx genex character "stylized sci-fi courier, practical clothing"
|
|
91
|
+
npx genex character preview <concept-id> --candidate <1|2|3> --user-approved
|
|
92
|
+
npx genex character finalize <preview-id> --user-approved --approve-remesh 10000 --animation 466
|
|
90
93
|
npx genex character animate <character-id> --action <action-id>
|
|
91
94
|
npx genex controller character --character <character-id>
|
|
92
95
|
```
|
|
93
96
|
|
|
97
|
+
All three concepts and the selected high-detail model use a neutral A-pose.
|
|
98
|
+
The high-detail source is preserved in R2 and shown from front, back, left, and
|
|
99
|
+
right with its measured face count before the user is asked to approve the
|
|
100
|
+
separate 10,000-face triangle remesh. Only that remesh is rigged and animated.
|
|
101
|
+
Held, slung, or overlapping props can fuse into the body or hide limbs; warn
|
|
102
|
+
before generation and prefer separate gameplay props.
|
|
103
|
+
|
|
94
104
|
Search output exposes the numeric action ID, stable key, preview, loop mode,
|
|
95
105
|
motion policy, controller slots, gameplay requirements, review status, and
|
|
96
106
|
estimated cost. Use a returned ID; do not guess from a name. Search is free and
|
|
@@ -119,8 +129,9 @@ const anims = new CharacterAnimations(native.scene, native.clips, {
|
|
|
119
129
|
|
|
120
130
|
During Meshy validation, record the action ID actually bound to every slot.
|
|
121
131
|
A public preview is not evidence when the game is playing a different clip or
|
|
122
|
-
a rig-basic fallback.
|
|
123
|
-
|
|
132
|
+
a rig-basic fallback. Meshy limb rotations play unchanged. Never freeze hand
|
|
133
|
+
tracks or apply post-mixer arm, hand, leg, or foot corrections. Only horizontal
|
|
134
|
+
root or hip translation may be normalized for Rapier.
|
|
124
135
|
|
|
125
136
|
The loader rejects clips whose manifest skeleton signature differs from the
|
|
126
137
|
current model revision or whose tracks target missing bones. This is deliberate
|
|
@@ -17,7 +17,7 @@ map, execution order, and acceptance gate.
|
|
|
17
17
|
| --- | --- |
|
|
18
18
|
| shot composition, chase/side/orbit rigs, camera handoffs, projection ownership, pointer look, mouse-aimed action (shooter, FPS/first-person, sniper, turret, crosshair/reticle), mouse-look, floating origins | `$genex-threejs-camera-direction` |
|
|
19
19
|
| on-foot player movement: walk/run/jump/crouch, third-person character, slopes, stairs, moving platforms, personal VRM animation, directional locomotion, transitions, action motion | `$genex-threejs-character-controller` |
|
|
20
|
-
| a custom generated playable humanoid or Meshy animation coverage beyond UAL:
|
|
20
|
+
| a custom generated playable humanoid or Meshy animation coverage beyond UAL: reference-informed A-pose concepts, explicit candidate + 10k-remesh approvals, exact action IDs, same-rig adapter | `$genex-ai-character` + `$genex-threejs-character-controller` |
|
|
21
21
|
| the player drives or flies something: cars, drones, vehicle physics, gearbox, enter/exit between character and vehicle | `$genex-threejs-vehicle-controllers` |
|
|
22
22
|
| playable on phones: touch/mobile input for any game — joystick, virtual buttons, drag zones, per-genre touch recipes, rotate-device overlay — wired by default for every NEW game when a recipe fits (skip with a one-line reason) | `$genex-threejs-touch-controls` |
|
|
23
23
|
| anything falls, collides, gets pushed, or needs physics: Rapier world setup, colliders for meshes and GLBs, collision events | `$genex-threejs-physics-rapier` |
|
|
@@ -60,11 +60,31 @@ leaderboards. Multiplayer auth (`getColyseusAuth`) comes from it too.
|
|
|
60
60
|
|
|
61
61
|
**Character-animation routing:** use the existing VRM + UAL character
|
|
62
62
|
controller by default. Use `npx genex character` when the game needs a custom
|
|
63
|
-
generated humanoid or an action unavailable in UAL.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
generated humanoid or an action unavailable in UAL. Before generating a Meshy
|
|
64
|
+
character, discuss two or three visual directions. When the user names a visual
|
|
65
|
+
reference, inspect references before writing the concept prompt. Recommend a
|
|
66
|
+
neutral A-pose for characters that will be rigged.
|
|
67
|
+
|
|
68
|
+
Generate concept images first and show the actual images to the user. Do not
|
|
69
|
+
start Image-to-3D until the user explicitly selects a candidate. Generate
|
|
70
|
+
exactly three concepts, all neutral A-pose; never use a dynamic concept pose or
|
|
71
|
+
silently fall back to T-pose. Warn that held, slung, or overlapping props and
|
|
72
|
+
straps can fuse into the body or obscure limbs, and recommend separate gameplay
|
|
73
|
+
props.
|
|
74
|
+
|
|
75
|
+
Meshy Image-to-3D first produces an unremeshed high-detail model. Show its
|
|
76
|
+
front, back, left, and right views and report its measured face count. Preserve
|
|
77
|
+
that model in R2. Before rigging, ask the user to approve a separate
|
|
78
|
+
10,000-face triangle remesh. The 10k remesh—not the high-detail source—is
|
|
79
|
+
rigged and animated. Keep every pre-animation generation in the selected
|
|
80
|
+
neutral A-pose.
|
|
81
|
+
|
|
82
|
+
Load `$genex-ai-character`, search Meshy actions first with
|
|
83
|
+
`npx genex animations search "<intent>" --json`, and use returned action IDs;
|
|
84
|
+
never invent IDs. Meshy limb rotations play unchanged. Never freeze hand tracks
|
|
85
|
+
or apply post-mixer arm, hand, leg, or foot corrections. Only horizontal root
|
|
86
|
+
or hip translation may be normalized for Rapier. In both lanes, the
|
|
87
|
+
ECCTRL-derived character controller owns collision and world translation.
|
|
68
88
|
|
|
69
89
|
**UI is mandatory routing:** every game has an interface — load
|
|
70
90
|
`$genex-threejs-game-ui` for every NEW game and run its "Plan the UI first" gate
|
|
@@ -145,7 +145,19 @@ Three.js release or branch, and do not blindly copy demo architecture.
|
|
|
145
145
|
`$genex-threejs-physics-rapier` when anything falls, collides, or gets
|
|
146
146
|
pushed; on-foot movement via `$genex-threejs-character-controller`;
|
|
147
147
|
driving/flying and character↔vehicle enter/exit via
|
|
148
|
-
`$genex-threejs-vehicle-controllers`.
|
|
148
|
+
`$genex-threejs-vehicle-controllers`. For a custom Meshy player, load
|
|
149
|
+
`$genex-ai-character` and keep the generation decisions ahead of wiring:
|
|
150
|
+
discuss two or three visual directions, inspect any user-named references,
|
|
151
|
+
then generate and show exactly three neutral-A-pose concepts. Wait for an
|
|
152
|
+
explicit candidate selection before Image-to-3D. Warn that held, slung, or
|
|
153
|
+
overlapping props and straps may fuse into the body or hide limbs. Keep the
|
|
154
|
+
selected high-detail pre-rig output in neutral A-pose, preserve it in R2,
|
|
155
|
+
show front/back/left/right views plus its measured face count, and wait for
|
|
156
|
+
explicit approval of the separate 10,000-face triangle remesh. Only the 10k
|
|
157
|
+
remesh is rigged and animated; there is no dynamic concept pose or silent
|
|
158
|
+
T-pose fallback. Meshy limb rotations remain unchanged—never freeze or
|
|
159
|
+
correct arm, hand, leg, or foot tracks. Only horizontal root or hip
|
|
160
|
+
translation may be normalized for Rapier.
|
|
149
161
|
6. Select the minimum scene-generation skills: geometry, materials, vegetation,
|
|
150
162
|
architecture, planets, water, precipitation, clouds, or VFX. Show the
|
|
151
163
|
planned loader from the very first asset load — a player must never stare
|
|
@@ -22,6 +22,35 @@ Read [references/visual-validation.md](references/visual-validation.md)
|
|
|
22
22
|
for visual contracts, required inspection controls, mechanism-specific
|
|
23
23
|
evidence, temporal checks, budgets, and explicit rejection criteria.
|
|
24
24
|
|
|
25
|
+
## Meshy character approval evidence
|
|
26
|
+
|
|
27
|
+
Before generating a Meshy character, discuss two or three visual directions.
|
|
28
|
+
When the user names a visual reference, inspect references before writing the
|
|
29
|
+
concept prompt. Recommend a neutral A-pose for characters that will be rigged.
|
|
30
|
+
|
|
31
|
+
Generate concept images first and show the actual images to the user. Do not
|
|
32
|
+
start Image-to-3D until the user explicitly selects a candidate. Validation
|
|
33
|
+
must show all three actual concept images, confirm that every candidate uses a
|
|
34
|
+
neutral A-pose, and preserve the user's explicit candidate selection. A task
|
|
35
|
+
ID, filename, or agent summary is not visual evidence. Dynamic concept poses
|
|
36
|
+
and silent T-pose fallbacks fail this checkpoint. Warn when held, slung, or
|
|
37
|
+
overlapping props or straps can fuse into the character or hide a limb.
|
|
38
|
+
|
|
39
|
+
Meshy Image-to-3D first produces an unremeshed high-detail model. Show its
|
|
40
|
+
front, back, left, and right views and report its measured face count. Preserve
|
|
41
|
+
that model in R2. Before rigging, ask the user to approve a separate
|
|
42
|
+
10,000-face triangle remesh. The 10k remesh—not the high-detail source—is
|
|
43
|
+
rigged and animated.
|
|
44
|
+
|
|
45
|
+
The selected high-detail model remains in a neutral A-pose before animation.
|
|
46
|
+
Record evidence that the user saw its four views and face count before
|
|
47
|
+
`--approve-remesh 10000` was used. Historical Meshy characters remain valid;
|
|
48
|
+
do not demand a silent regeneration or upgrade.
|
|
49
|
+
|
|
50
|
+
Meshy limb rotations play unchanged. Never freeze hand tracks or apply
|
|
51
|
+
post-mixer arm, hand, leg, or foot corrections. Only horizontal root or hip
|
|
52
|
+
translation may be normalized for Rapier.
|
|
53
|
+
|
|
25
54
|
## Interaction smoke check (the game fast path)
|
|
26
55
|
|
|
27
56
|
For plain game tasks — nothing from the procedural/visual-system pack loaded —
|
|
@@ -56,7 +85,9 @@ everything twice.
|
|
|
56
85
|
locomotion continues normally.
|
|
57
86
|
During Meshy validation, record the action ID actually bound to every slot.
|
|
58
87
|
A public preview is not evidence when the game is playing a different clip
|
|
59
|
-
or a rig-basic fallback.
|
|
88
|
+
or a rig-basic fallback. Meshy limb rotations play unchanged. Never freeze
|
|
89
|
+
hand tracks or apply post-mixer arm, hand, leg, or foot corrections. Only
|
|
90
|
+
horizontal root or hip translation may be normalized for Rapier. If a
|
|
60
91
|
native pose is bad or a required binding is missing, stop and regenerate.
|
|
61
92
|
3. Capture one screenshot of live gameplay — of the **game**, not a sign-in
|
|
62
93
|
gate or loading screen. A capture of the SDK's "Sign in to play" overlay is
|
|
@@ -73,6 +73,27 @@ its identity and every deliberate divergence in backend, resolution, asset,
|
|
|
73
73
|
scale, or composition. Do not substitute a generic category match for the
|
|
74
74
|
specific visual contract.
|
|
75
75
|
|
|
76
|
+
For a Meshy player character, the pre-animation sign-off record additionally
|
|
77
|
+
contains:
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
two or three discussed visual directions
|
|
81
|
+
the inspected references, when the user named one
|
|
82
|
+
three actual concept-image URLs, all neutral A-pose
|
|
83
|
+
the user's selected candidate
|
|
84
|
+
high-detail source URL in R2
|
|
85
|
+
front / back / left / right high-detail views
|
|
86
|
+
measured high-detail face count
|
|
87
|
+
the user's explicit approval of the separate 10,000-face triangle remesh
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Do not accept a dynamic-pose concept, a silent T-pose fallback, or a rig built
|
|
91
|
+
from the unremeshed high-detail source. Warn before generation when held,
|
|
92
|
+
slung, or overlapping props and straps can fuse into the body or hide limbs.
|
|
93
|
+
Animation naturally leaves the A-pose; its limb rotations remain native.
|
|
94
|
+
Never freeze or correct arm, hand, leg, or foot tracks. Only horizontal root or
|
|
95
|
+
hip translation may be normalized for Rapier.
|
|
96
|
+
|
|
76
97
|
## Required inspection controls
|
|
77
98
|
|
|
78
99
|
Any runnable inspection surface should expose the controls relevant to its
|