@genex-ai/cli-demo 1.32.2 → 1.32.3-dev.680

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genex-ai/cli-demo",
3
- "version": "1.32.2",
3
+ "version": "1.32.3-dev.680",
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": {
@@ -180,7 +180,13 @@ second paid request. In the default lane, `--user-approved` and
180
180
  the real images. When the player explicitly requested a custom character,
181
181
  never add `--user-approved` until they have actually seen and selected the
182
182
  candidate, and never add `--approve-remesh <faces>` until they have seen the
183
- four high-detail views and measured face count.
183
+ four high-detail views and measured face count. Every character lane —
184
+ concept, preview, finalize, animate — counts against the same asset allowance
185
+ `npx genex budget` prints for the rest of the belt, the quote each stage
186
+ prints is exactly what it charges against that allowance, and a stage refused
187
+ past it is a question for the player with the number (the wallet is not empty;
188
+ `npx genex budget --assets <credits> --user-approved` raises it on their
189
+ word), never an out-of-credits fallback to the VRM avatar.
184
190
 
185
191
  Before handoff, capture idle, walk, run, crouch-idle, crouch-move, and jump.
186
192
  Inspect shoulders, elbows, wrists, and hands as well as the feet. Reject
@@ -306,6 +306,18 @@ scene is a ghost: players and objects pass straight through it.
306
306
  with a procedurally-coded placeholder (a simple Three.js primitive-based stand-in
307
307
  mesh) and mark the spot with `// TODO(genex): regenerate when credits refill` so
308
308
  the real asset is one command away later. Do not stop the session over this.
309
+ - **Refused by the build's asset allowance** (the command prints the allowance,
310
+ what this build has spent, and this generation's price) — the build, not the
311
+ account, is at its limit: every build has an asset allowance sized from the
312
+ wallet, and this generation would take it past that. The wallet is not empty
313
+ and nothing was charged, so this is not the out-of-credits case above and the
314
+ placeholder-and-refill route is wrong here. Tell the user the numbers the CLI
315
+ printed (`npx genex budget` shows them again) and ask whether to raise the
316
+ allowance — only their explicit approval does: `npx genex budget --assets
317
+ <credits> --user-approved`. While you wait, or if no answer comes, code-build
318
+ the piece (`$genex-threejs-procedural-assets`) to the same bar and record
319
+ `Generation: none — allowance` on its row. Never re-run the command hoping for
320
+ a different answer, and never report this as being out of credits.
309
321
  - **"Email not verified" (`email_verification_required`)** — generation credits
310
322
  unlock after the account's email is verified. Give the user the verify link the
311
323
  CLI printed, wait for them to confirm, then re-run the command.
@@ -225,7 +225,7 @@ first one is the one a screenshot of the whole arena will not show you.
225
225
 
226
226
  ## Troubleshooting
227
227
 
228
- - **"Not authorized"** — run `npx @genex-ai/cli-demo@latest init` first (it writes your `GENEX_TOKEN`).
228
+ - **"Not authorized"** — run `npx @genex-ai/cli-demo@dev init` first (it writes your `GENEX_TOKEN`).
229
229
  - **"Out of credits" (`insufficient_credits`)** — the account has no credits left for
230
230
  this texture generation. Tell the user the facts the CLI printed: their balance,
231
231
  this generation's cost, and when their credits refill. Then offer to continue the
@@ -203,7 +203,7 @@ evidence detective game, a video-book. The pattern that makes it hold together:
203
203
 
204
204
  ## Troubleshooting
205
205
 
206
- - **"Not authorized"** — run `npx @genex-ai/cli-demo@latest init` first (it writes your `GENEX_TOKEN`).
206
+ - **"Not authorized"** — run `npx @genex-ai/cli-demo@dev init` first (it writes your `GENEX_TOKEN`).
207
207
  - **"Prompt rejected"** — the provider's content-safety filter blocked the prompt.
208
208
  This is non-retryable; retrying the same wording fails again. Rewrite the prompt.
209
209
  The measured false-positive class is anatomy being pierced or entered
@@ -126,7 +126,7 @@ vendored code from memory of another engine.
126
126
 
127
127
  | Work needed | Load |
128
128
  | --- | --- |
129
- | **your first `npx genex model` or `npx genex character` this session** — the command, what comes back, how to scale and ground it, and what to do when a lane is dead. One page, thirty seconds. The full lanes below are long; measured across 105 generation-lane invocations, 94% ran without the owning skill open, and placement is where that showed | `$genex-lane-card` |
129
+ | **your first `npx genex model` or `npx genex character` this session** — the command, what comes back, how to scale and ground it, what the build may spend, and what to do when a lane is dead. One page, thirty seconds. The full lanes below are long; measured across 105 generation-lane invocations, 94% ran without the owning skill open, and placement is where that showed | `$genex-lane-card` |
130
130
  | shot composition, chase/side/orbit rigs, camera handoffs, projection ownership, pointer look, mouse-aimed action, mouse-look, the screen-direction contract for hand-rolled steering/pan/look input signs, floating origins | `$genex-threejs-camera-direction` |
131
131
  | on-foot player movement: walk/run/jump/crouch, third-person character, slopes, stairs, moving platforms, the player's body loader, directional locomotion, transitions, action motion | `$genex-threejs-character-controller` |
132
132
  | **attacking, casting, aiming or reloading WHILE moving** — any action the legs must keep running under; a weapon carry stance over stock locomotion; a wind-up the character holds while walking | `$genex-threejs-character-controller` (`references/animations.md`, upper-body layering) |
@@ -204,18 +204,30 @@ its local path for code-built ones — the table is where the per-object decisio
204
204
  lives, and a table with no generated row records
205
205
  `Generation: none — <why code alone reaches the bar here>` beside it. Mixing
206
206
  both in one scene is the normal way to build, never a fallback. In focused
207
- work, stay inside the touched scope. Generate in batches you can finish. The first
208
- batch is the smallest set that makes the scene read the player's body,
209
- whatever the request names, and the first thing they walk up to — enqueued
210
- together with `--no-wait` while you scaffold. Before a second batch starts,
211
- every id in the first is collected with `npx genex wait --all`, loaded from a
212
- file in `src/`, and seen in a capture. A batch begun while the previous one is
213
- still uncollected is how a game ends up with an asset library and an empty
214
- world. This is enforced, not merely advised: unshipped generations are counted
215
- and the generate commands refuse past a ceiling, which `npx genex preview`
216
- resets to zero. There is no total preview between batches and generate as
217
- much as the game needs. Preserve every id, URL and wiring state across a
218
- compaction.
207
+ work, stay inside the touched scope. Generate in batches you can finish, and
208
+ generate what the wallet can carry: every build has an asset allowance, and
209
+ `npx genex budget` prints it live with the price of each kind. Each Assets row
210
+ carries its kind's price from that output, and the table's total is checked
211
+ against the allowance before the first `--no-wait` is sent. A table that does
212
+ not fit is trimmed from the bottom the nice-to-have props never from the
213
+ top, which is what the request names; a trimmed row stays in the table as
214
+ `Generation: none allowance`, so the reason is legible, and the player is
215
+ asked with the number before the trim with no answer, the trim stands and
216
+ the summary says so since only their explicit approval raises the allowance
217
+ (`npx genex budget --assets <credits> --user-approved`). The first batch is
218
+ the smallest set that makes the scene read — the player's body, whatever the
219
+ request names, and the first thing they walk up to — enqueued together with
220
+ `--no-wait` while you scaffold. Before a second batch starts, every id in the
221
+ first is collected with `npx genex wait --all`, loaded from a file in `src/`,
222
+ and seen in a capture. A batch begun while the previous one is still
223
+ uncollected is how a game ends up with an asset library and an empty world.
224
+ Both are enforced, not merely advised: unshipped generations are counted and
225
+ the generate commands refuse past a ceiling, which `npx genex preview` resets
226
+ to zero, and a paid command that would take the build past its allowance is
227
+ refused with the numbers, whatever the wallet holds. The ratchet has no total
228
+ — preview between batches and generate as much as the game needs; the
229
+ allowance is the total, and it is meant to be spent on the named things, not
230
+ left over. Preserve every id, URL and wiring state across a compaction.
219
231
 
220
232
  ## 5. Execute by working mode
221
233
 
@@ -161,7 +161,7 @@ downloads the game too, binary assets and all:
161
161
 
162
162
  ```bash
163
163
  mkdir my-game && cd my-game
164
- npx @genex-ai/cli-demo@latest link <slug> # slug = the name in the play URL
164
+ npx @genex-ai/cli-demo@dev link <slug> # slug = the name in the play URL
165
165
  npm install
166
166
  ```
167
167
 
@@ -225,7 +225,7 @@ Safe to run any time — genex-owned skills are refreshed to the latest version,
225
225
  and your own files are never touched:
226
226
 
227
227
  ```bash
228
- npx @genex-ai/cli-demo@latest init
228
+ npx @genex-ai/cli-demo@dev init
229
229
  ```
230
230
 
231
231
  Use `--force` only if you intentionally want your own existing files overwritten
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: genex-lane-card
3
- description: The asset belt on one page — the command, what comes back, how to place it so it is not a speck or a wall, and what to do when a lane is dead. Read this before your first `npx genex model` or `npx genex character`. The full lanes are `$genex-ai-model` and `$genex-ai-character`; this card is what you need to not get it wrong.
3
+ description: The asset belt on one page — the command, what comes back, how to place it so it is not a speck or a wall, what the build may spend, and what to do when a lane is dead. Read this before your first `npx genex model` or `npx genex character`. The full lanes are `$genex-ai-model` and `$genex-ai-character`; this card is what you need to not get it wrong.
4
4
  ---
5
5
 
6
6
  # Genex · Lane card
@@ -51,10 +51,11 @@ The belt has a **shipping ratchet**: generations that have not been shown to the
51
51
  player are counted, and the count resets to zero every time you `npx genex
52
52
  preview`. Hit it and the command refuses with the number and the fix.
53
53
 
54
- It is not a spend limit and there is no total preview between batches and
55
- generate as much as the game needs. What it stops is one thing: fanning out a
56
- whole cast or a shelf of props before the player has seen any of it. If you are
57
- refused, you are not out of anything. You have work that nobody has looked at.
54
+ It is not a spend limit (that is the allowance, next section) and it has no
55
+ total — preview between batches and generate as much as the game needs. What
56
+ it stops is one thing: fanning out a whole cast or a shelf of props before the
57
+ player has seen any of it. If you are refused, you are not out of anything.
58
+ You have work that nobody has looked at.
58
59
 
59
60
  ```bash
60
61
  npx genex model "..." --no-wait # a batch you can finish
@@ -63,6 +64,26 @@ npx genex wait --all # collect it
63
64
  npx genex preview # free, seconds — and the count is zero again
64
65
  ```
65
66
 
67
+ ## Generate what the wallet can carry
68
+
69
+ Every build also has an **asset allowance** — a slice of the account's credits,
70
+ sized from the live balance the first time a paid command runs and held still
71
+ after that. `npx genex budget` prints it live: balance, spendable, the
72
+ allowance, spent this build, remaining, and the price of every kind. Run it
73
+ before the first batch and after each preview.
74
+
75
+ The allowance is the build's asset money and it is MEANT to go on what the
76
+ brief names — leaving it unspent while you code-build the named things is as
77
+ wrong as draining it on props. Plan the asset table against it: the named
78
+ things first, then what makes the scene read, on the cheapest lane that reaches
79
+ the bar. If the plan needs more than it holds, ask the player with the number
80
+ BEFORE trimming; only their word raises it (`npx genex budget --assets
81
+ <credits> --user-approved`). If no answer comes and the build must proceed,
82
+ generate the named things first, code-build the rest, and say so in the
83
+ summary. A refusal past the allowance means the build has reached its
84
+ allowance, not that the account is empty; failed generations are refunded and
85
+ do not count.
86
+
66
87
  ## The one rule
67
88
 
68
89
  An asset is not done when the command exits. It is done when something in
@@ -38,7 +38,7 @@ update, so update immediately.)
38
38
  Run exactly the command the nudge printed, from the game project root:
39
39
 
40
40
  ```bash
41
- npm i -D @genex-ai/cli-demo@latest # the genex CLI (a dev dependency)
41
+ npm i -D @genex-ai/cli-demo@dev # the genex CLI (a dev dependency)
42
42
  npm i @genex-ai/embed-sdk@latest # identity/saves SDK (ships inside the game)
43
43
  npm i @genex-ai/multiplayer@latest # multiplayer SDK (only if the game uses it)
44
44
  ```