@genex-ai/cli-demo 0.93.0 → 0.94.0-dev.249

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 (58) hide show
  1. package/dist/index.js +26 -5
  2. package/package.json +1 -1
  3. package/templates/skills/genex-ai-model/SKILL.md +3 -2
  4. package/templates/skills/genex-ai-skybox/SKILL.md +4 -4
  5. package/templates/skills/genex-ai-texture/SKILL.md +1 -1
  6. package/templates/skills/genex-ai-video/SKILL.md +1 -1
  7. package/templates/skills/genex-game-director/SKILL.md +321 -411
  8. package/templates/skills/genex-game-director/references/design-contract.md +130 -179
  9. package/templates/skills/genex-game-director/references/routing-map.md +242 -362
  10. package/templates/skills/genex-getting-started/SKILL.md +2 -2
  11. package/templates/skills/genex-threejs-exposure-color-grading/SKILL.md +3 -7
  12. package/templates/skills/genex-threejs-multiplayer/SKILL.md +19 -2
  13. package/templates/skills/genex-threejs-procedural-assets/SKILL.md +112 -0
  14. package/templates/skills/genex-threejs-procedural-materials/SKILL.md +3 -7
  15. package/templates/skills/genex-threejs-procedural-vfx/SKILL.md +6 -11
  16. package/templates/skills/genex-threejs-shadow-systems/SKILL.md +2 -3
  17. package/templates/skills/genex-threejs-visual-validation/SKILL.md +0 -4
  18. package/templates/skills/genex-updates/SKILL.md +1 -1
  19. package/templates/skills/genex-threejs-atmosphere-aerial-perspective/SKILL.md +0 -46
  20. package/templates/skills/genex-threejs-atmosphere-aerial-perspective/references/atmosphere.md +0 -213
  21. package/templates/skills/genex-threejs-bloom/SKILL.md +0 -44
  22. package/templates/skills/genex-threejs-bloom/references/bloom.md +0 -187
  23. package/templates/skills/genex-threejs-exposure-color-grading/references/exposure-grading.md +0 -205
  24. package/templates/skills/genex-threejs-game-content/SKILL.md +0 -198
  25. package/templates/skills/genex-threejs-game-content/references/content-tables.md +0 -269
  26. package/templates/skills/genex-threejs-image-pipeline/SKILL.md +0 -56
  27. package/templates/skills/genex-threejs-image-pipeline/references/image-pipeline.md +0 -197
  28. package/templates/skills/genex-threejs-lighting-design/SKILL.md +0 -144
  29. package/templates/skills/genex-threejs-lighting-design/references/light-recipes.md +0 -137
  30. package/templates/skills/genex-threejs-open-world/SKILL.md +0 -149
  31. package/templates/skills/genex-threejs-open-world/references/terrain-streaming.md +0 -215
  32. package/templates/skills/genex-threejs-precipitation-surfaces/SKILL.md +0 -59
  33. package/templates/skills/genex-threejs-precipitation-surfaces/references/precipitation-surfaces.md +0 -181
  34. package/templates/skills/genex-threejs-procedural-architecture/SKILL.md +0 -50
  35. package/templates/skills/genex-threejs-procedural-architecture/references/architecture-systems.md +0 -509
  36. package/templates/skills/genex-threejs-procedural-fields/SKILL.md +0 -61
  37. package/templates/skills/genex-threejs-procedural-fields/references/field-systems.md +0 -232
  38. package/templates/skills/genex-threejs-procedural-geometry/SKILL.md +0 -39
  39. package/templates/skills/genex-threejs-procedural-geometry/references/mesh-systems.md +0 -202
  40. package/templates/skills/genex-threejs-procedural-materials/references/material-systems.md +0 -198
  41. package/templates/skills/genex-threejs-procedural-planets/SKILL.md +0 -48
  42. package/templates/skills/genex-threejs-procedural-planets/references/planet-systems.md +0 -498
  43. package/templates/skills/genex-threejs-procedural-vegetation/SKILL.md +0 -52
  44. package/templates/skills/genex-threejs-procedural-vegetation/references/vegetation-systems.md +0 -314
  45. package/templates/skills/genex-threejs-procedural-vfx/references/vfx-systems.md +0 -218
  46. package/templates/skills/genex-threejs-raymarched-space-effects/SKILL.md +0 -37
  47. package/templates/skills/genex-threejs-raymarched-space-effects/references/space-effects.md +0 -194
  48. package/templates/skills/genex-threejs-screen-space-ambient-occlusion/SKILL.md +0 -35
  49. package/templates/skills/genex-threejs-screen-space-ambient-occlusion/references/ambient-occlusion.md +0 -441
  50. package/templates/skills/genex-threejs-spectral-ocean/SKILL.md +0 -52
  51. package/templates/skills/genex-threejs-spectral-ocean/references/spectral-ocean.md +0 -473
  52. package/templates/skills/genex-threejs-temporal-surfaces/SKILL.md +0 -41
  53. package/templates/skills/genex-threejs-temporal-surfaces/references/temporal-surfaces.md +0 -207
  54. package/templates/skills/genex-threejs-visual-validation/references/visual-validation.md +0 -427
  55. package/templates/skills/genex-threejs-volumetric-clouds/SKILL.md +0 -49
  56. package/templates/skills/genex-threejs-volumetric-clouds/references/volumetric-clouds.md +0 -579
  57. package/templates/skills/genex-threejs-water-optics/SKILL.md +0 -57
  58. package/templates/skills/genex-threejs-water-optics/references/water-optics.md +0 -195
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import fs from "fs";
8
8
  import os from "os";
9
9
  import path from "path";
10
10
  import { fileURLToPath } from "url";
11
- var RAW_CHANNEL = "latest";
11
+ var RAW_CHANNEL = "dev";
12
12
  var CLI_CHANNEL = RAW_CHANNEL === "dev" ? "dev" : "latest";
13
13
  var STANDS = {
14
14
  prod: { api: "https://api.genex.games", dashboard: "https://genex.games" },
@@ -254,9 +254,9 @@ var GENEX_CONTRACT_BLOCK = `${CONTRACT_BEGIN}
254
254
 
255
255
  Your capabilities (all via \`npx genex \u2026\`): generate \`model\` \xB7 \`skybox\` \xB7 \`sfx\` \xB7 \`music\` \xB7 \`voice\` \xB7 \`texture\` \xB7 \`image\` (\`--edit\` \xB7 \`--inpaint\` \xB7 \`--glass\` \xB7 \`--clean\` \xB7 \`--upscale\`) \xB7 \`video\` \xB7 rigged \`character\` / \`creature\` \xB7 \`character animate <id> "<verb>"\` (also \`creature animate\`; \`--locomotion\` for the 8-way movement set, \`--video\` for your own footage) \xB7 the pixel toolbox \`ui extract|masks|plate|text-color|trim|audit\` \xB7 vendored \`controller character|car|drone|touch|quality\` \xB7 \`animations search\` \xB7 \`wait <id>\` / \`wait --all\` \xB7 \`preview\` / \`publish\`. Full options: \`npx genex --help\`. Task\u2192lane routing lives in the \`genex-game-director\` skill's routing map \u2014 re-load it whenever you're unsure which lane owns a task.
256
256
 
257
- 1. Load the \`genex-game-director\` skill and follow it end to end before any game code. After ANY context compaction or session resume, re-read this file and \`DESIGN.md\`, re-load the skill for the stage you are executing, and continue from the Build plan's \`Now:\` line \u2014 never from memory alone.
258
- 2. The design interview always happens: 2\u20134 build-forking questions, ONE round, before DESIGN.md is written \u2014 even when the request already names the game (then it confirms the pitch). Ask with your built-in question tool with clickable answer options when you have one; a short numbered list in plain chat otherwise. Only after asking may you proceed on stated assumptions if the player stays silent; record each as "assumed \u2014 player didn't answer" in DESIGN.md \u2192 Decisions.
259
- 3. \`DESIGN.md\` at the project root is the design contract AND the build plan. It must carry a \`## Build plan & status\` section: numbered milestones with status marks and a \`Now:\` line naming the current one \u2014 a milestone is done only when its work reached a preview. Keep it current; record every decision, assumption, and generation id there. When the plan first lands, tell the player in one plain line that the plan is locked in and lives in \`DESIGN.md\`.
257
+ 1. Load the \`genex-game-director\` skill before starting the requested work. Route from the player's latest clear request: a focused request starts directly without replaying discovery or commissioning unrelated lanes. After ANY context compaction or session resume, re-read this file and \`DESIGN.md\`, re-load the skill for the stage you are executing, and continue from the Build plan's \`Now:\` line \u2014 never from memory alone.
258
+ 2. Ask only when one unresolved answer materially changes the work. If the request is clear, do not repeat an interview, confirm the pitch, force a concept round, or ask whole-game-vs-one-part again. For a genuinely broad new game, ask one decision: whole coordinated build or one request-relevant part first. If there is no clear request, ask whether the player wants a game, a tool/component, or a change to existing work \u2014 never fill the blank by pitching concepts. Ask one decision at a time with your built-in question tool with clickable answer options when you have one; use a short plain-chat question otherwise. If the player stays silent after a necessary question, proceed on stated assumptions where reasonable and record each as "assumed \u2014 player didn't answer" in DESIGN.md \u2192 Decisions.
259
+ 3. \`DESIGN.md\` at the project root is the durable design contract AND build plan. Keep three truths distinct: the player's requested outcome, the current \`Now:\` focus, and open commitments. It must carry a \`## Build plan & status\` section with the working mode (\`whole coordinated build\`, \`step by step\`, or \`focused change\`), numbered milestones with status marks, and a \`Now:\` line naming the current one \u2014 a milestone is done only when its work reached a preview. The latest clear request may replace \`Now:\` immediately; it never silently shrinks the requested outcome or deletes unrelated commitments. Keep every decision, assumption, generation id/URL, local output, and wiring state current. When the plan first lands, tell the player in one plain line that you recorded what they asked for in \`DESIGN.md\` and will keep it current.
260
260
  4. ALL generated art, audio, video, characters, and UI come from \`genex\` commands \u2014 never from any other generation tool your platform bundles, unless the player explicitly asks for that tool by name. A local reference image is not a reason to switch tools: pass its file path to genex (\`--edit\` and \`--inpaint\` accept local paths). The same exclusivity covers shipping: building, previewing, and publishing go only through \`genex preview\` / \`genex publish\` \u2014 never load your platform's own site-building, hosting, or deploy skills for this game.
261
261
  5. The Stage-1 HUD mockup IS the game concept \u2014 it is your FIRST art action at the UI plan gate. ONE concept image, no candidate variants (generate variants only when the player asks for them), anchored to any reference image the player gave.
262
262
  6. The moment the mockup lands: you are the art director \u2014 immediately enqueue the Stage-2 HUD sheet, the menu still, and the logotype (\`--no-wait\`). THEN show the player the frame and ask keep/change as information, never as a gate. Silence = the concept stands; a later "change" loops it with the player's notes.
@@ -376,7 +376,28 @@ async function hasGenexSkills(skillsDir) {
376
376
  return false;
377
377
  }
378
378
  }
379
- var REMOVED_SKILLS = ["genex-explore", "genex-threejs-skill-router"];
379
+ var REMOVED_SKILLS = [
380
+ "genex-explore",
381
+ "genex-threejs-skill-router",
382
+ "genex-threejs-bloom",
383
+ "genex-threejs-screen-space-ambient-occlusion",
384
+ "genex-threejs-atmosphere-aerial-perspective",
385
+ "genex-threejs-volumetric-clouds",
386
+ "genex-threejs-spectral-ocean",
387
+ "genex-threejs-water-optics",
388
+ "genex-threejs-temporal-surfaces",
389
+ "genex-threejs-raymarched-space-effects",
390
+ "genex-threejs-procedural-architecture",
391
+ "genex-threejs-procedural-fields",
392
+ "genex-threejs-procedural-geometry",
393
+ "genex-threejs-procedural-planets",
394
+ "genex-threejs-procedural-vegetation",
395
+ "genex-threejs-image-pipeline",
396
+ "genex-threejs-lighting-design",
397
+ "genex-threejs-precipitation-surfaces",
398
+ "genex-threejs-game-content",
399
+ "genex-threejs-open-world"
400
+ ];
380
401
  async function pruneRemovedSkills(skillsDir, log) {
381
402
  const removed = [];
382
403
  for (const name of REMOVED_SKILLS) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genex-ai/cli-demo",
3
- "version": "0.93.0",
3
+ "version": "0.94.0-dev.249",
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": {
@@ -11,8 +11,9 @@ Turn a text prompt into a real, game-ready **GLB** and drop it into the project.
11
11
 
12
12
  - **Use `npx genex model`** for a specific, recognizable object — a barrel, a chair, a
13
13
  sword, a spaceship, an animal. You get a real textured mesh.
14
- - **Use `$genex-threejs-procedural-geometry`** for parametric/abstract shapes,
15
- terrain, or anything you want to generate in code (infinite variations, no files).
14
+ - **Use `$genex-threejs-procedural-assets`** for a reference-driven or
15
+ explicitly parametric object you want to generate as editable code
16
+ (controlled variations, no GLB file).
16
17
 
17
18
  **The output is a STATIC, unrigged mesh — no skeleton, no animation clips.**
18
19
  A "wolf" or "guard" from this command can be posed and moved as one object,
@@ -14,9 +14,9 @@ also lights it (image-based lighting).
14
14
  hour over misty mountains", "rolling thunderstorm, towering cumulonimbus",
15
15
  "alien purple nebula", "hazy dusk sky over a distant sea horizon". You get a
16
16
  real image.
17
- - **Use `$genex-threejs-atmosphere-aerial-perspective`** (or
18
- `$genex-threejs-volumetric-clouds`) for a fully procedural, animated,
19
- time-of-day sky generated in shaders.
17
+ - Build a procedural, animated, time-of-day sky directly in the game's existing
18
+ scene/runtime only when that is the requested deliverable; this image lane
19
+ owns static generated panoramas.
20
20
 
21
21
  **A skybox is environment only — never content.** Buildings, trees, ruins,
22
22
  towers, or any object painted into the sky render at infinite distance: they
@@ -116,7 +116,7 @@ scene.background = texture; // keep the raw texture for the visible sky
116
116
 
117
117
  ## Troubleshooting
118
118
 
119
- - **"Not authorized"** — run `npx @genex-ai/cli-demo@latest init` first (it writes your `GENEX_TOKEN`).
119
+ - **"Not authorized"** — run `npx @genex-ai/cli-demo@dev init` first (it writes your `GENEX_TOKEN`).
120
120
  - **"Out of credits" (`insufficient_credits`)** — the account has no credits left for
121
121
  this skybox generation. Tell the user the facts the CLI printed: their balance, this
122
122
  generation's cost, and when their credits refill. Then offer to continue the build
@@ -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
@@ -151,7 +151,7 @@ set belongs to `$genex-ai-hud` — both build on `npx genex image`/`video`.
151
151
 
152
152
  ## Troubleshooting
153
153
 
154
- - **"Not authorized"** — run `npx @genex-ai/cli-demo@latest init` first (it writes your `GENEX_TOKEN`).
154
+ - **"Not authorized"** — run `npx @genex-ai/cli-demo@dev init` first (it writes your `GENEX_TOKEN`).
155
155
  - **"Prompt rejected"** — the provider's content-safety filter blocked the prompt.
156
156
  This is non-retryable; retrying the same wording fails again. Rewrite the prompt.
157
157
  - **Nothing plays / black surface** — the first `video.play()` must run inside a user