@genex-ai/cli-demo 0.84.0-dev.215 → 0.85.0-dev.216

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.
@@ -71,66 +71,62 @@ and how the space reads (route, scale) — plus the brief's palette,
71
71
  materials, and light. A beautiful empty vista with nothing to fight and
72
72
  nowhere to go is a FAILED concept; so is one that invents mechanics the
73
73
  game doesn't have (a lap counter in a game without laps). Generate it
74
- `--size 2560x1440 --quality high --candidates 2 --no-wait`, enqueued FIRST
75
- of all art; the picked candidate's URL goes into the style-brief comment.
76
-
77
- **Describe the concept, show it, then get a YES before the style-dependent
78
- work fans out.** First lay the concept out in WORDS the playable moment
79
- (the verb), what threatens the player, what they chase, how the space reads,
80
- and the brief's palette / materials / light / references — so the user is
81
- weighing a stated direction, not guessing at a picture. Generate the mockup
82
- FIRST of all art (`--candidates 2`) and get it in front of the user AS FAST
83
- AS POSSIBLE: pick the stronger candidate yourself, pick it up with
84
- `genex wait <id> --open` (or generate it with `--open`) so it opens in the
85
- user's browser AND prints the links, and paste BOTH candidates' URLs as
86
- clickable links saying which one you picked and why a URL is invisible in a
87
- terminal, and "do you like it?" with no picture in front of the user is the
88
- #1 way this checkpoint fails (they end up digging logs for the file path).
89
-
90
- **Then ask for the yes with your question tool** the one that shows the
91
- user clickable options; a short numbered list in chat only where there is
92
- none. ONE question "this is roughly
93
- how the game and its HUD will look keep this direction, or change
94
- something?" — with concrete keep / change options. This confirmation is
95
- REQUIRED for every game: the concept sets the STYLE every later asset
96
- inherits, so the user gets a real say before that style is committed. This
97
- reverses the old "advisory, never gate" rulethe concept now gates, but
98
- ONLY the style-dependent work (below), never the whole build.
99
-
100
- **The yes gates the STYLE-DEPENDENT work nothing else.** Until the user
101
- approves a frame, do NOT fan out the art or subagents that build ON the
102
- chosen look: the HUD Stage-2 deconstruct (from the picked candidate), the
103
- menu still + video (`--edit`-anchored to the mockup), and the logotype. (The core asset set — hero model, ground texture, skybox,
104
- sfx is prompted from the game IDEA, not the picked image, and mostly
105
- survives a style change, so it does NOT wait: launch it up front with
106
- placeholders, re-rolling only the few that don't survive if the look shifts.)
107
- Everything else that does NOT depend on the look
108
- keeps moving at full speed IN PARALLEL the scaffold and boot wiring, the
109
- core gameplay / network loop, the controller, and the gameplay-LOGIC subagent
110
- modules (world, quests, enemies, itemstheir structure comes from the
111
- contract, not the picture). The wait is therefore never idle: a slow-to-answer
112
- user still gets a walkable first version, and the instant they say yes the
113
- style pipeline launches against the frame they approved. (A user who vanishes
114
- entirely leaves the LOOK pending, not the game — the deliberate trade for
115
- never committing a style behind their back.)
74
+ `--size 2560x1440 --quality high --no-wait`, enqueued FIRST of all art —
75
+ ONE image, no candidate variants unless the user asks; its URL goes into
76
+ the style-brief comment.
77
+
78
+ **Describe the concept in words while it renders.** Lay it out in chat
79
+ the playable moment (the verb), what threatens the player, what they chase,
80
+ how the space reads, and the brief's palette / materials / light /
81
+ references — so the user is weighing a stated direction, not guessing at a
82
+ picture.
83
+
84
+ **The moment the mockup lands, the style chain fires then the user sees
85
+ the frame.** In this order, no waiting between the steps: decide the HUD
86
+ lane as art director and record the `HUD lane:` line in DESIGN.md
87
+ (`$genex-game-director` §5 owns the criteria), enqueue the style-dependent
88
+ chain `--no-wait` the HUD Stage-2 deconstruct (from the mockup), the menu
89
+ still (`--edit`-anchored to it), and the logotype — and THEN show the frame:
90
+ pick it up with `genex wait <id> --open` (or generate with `--open`) so it
91
+ opens in the user's browser AND prints the link, and paste the URL as a
92
+ clickable linka URL is invisible in a terminal, and "do you like it?"
93
+ with no picture in front of the user is the #1 way this checkpoint fails.
94
+
95
+ **Ask keep-or-change with your question tool as INFORMATION, never a
96
+ gate.** The one that shows clickable options; a short numbered list in chat
97
+ only where there is none. ONE question"this is roughly how the game and
98
+ its HUD will look — keep this direction, or change something?" — with
99
+ concrete keep / change options. The chain is already running while they
100
+ read it: silence means the concept stands; nothing except the menu VIDEO
101
+ ever waits for the answer. The user still gets a real say a "change" at
102
+ any time loops the concept with their notes at image prices (below). The
103
+ menu video (the one expensive item) fires at the FIRST of: the user's yes ·
104
+ the next `genex preview` after the menu still landed · style work being the
105
+ only work left and never while a user objection is open
106
+ (`$genex-ai-menu` owns the trigger). (The core asset set hero model,
107
+ ground texture, skybox, sfx is prompted from the game IDEA, not the
108
+ image, and mostly survives a style change: launch it up front with
109
+ placeholders. Everything style-independent scaffold, boot wiring, the
110
+ core loop, the gameplay-LOGIC subagent modules keeps moving at full speed
111
+ in parallel throughout.)
116
112
 
117
113
  **Change reopens the loop, same shape.** If the user picks "change" — or
118
114
  comes back with notes immediately or an hour later — re-run Stage 1 (the
119
- concept mockup itself) with their exact notes (`--candidates 2–3` gives them
120
- options to choose from), open + link the new frame, and ask again the same
121
- structured way. Carry every note forward so each round compounds; if two
122
- rounds don't converge, offer 2–3 distinct directions instead of re-rolling
123
- blind. Each frame the user approves becomes the working style, and the
124
- style-dependent pipeline stays gated on the latest yes (strictly CHEAPER than
125
- it used to be: one image carries scene + HUD, there is no separate concept to
126
- redo). When the style actually changes after downstream art already ran,
127
- re-anchor it: the menu still is re-edited (`--edit`) against the new mockup
128
- and its video re-run once from the new still (`$genex-ai-menu` — a
129
- user-driven style change re-opens its one-video rule), and the HUD deconstruct
130
- (Stage 2 onward, `$genex-ai-hud`) restarts from the new mockup. Style-neutral
131
- assets (most textures, sfx, models) usually survive — judge each in one line.
132
- The same "open it + paste the link" rule covers every image the user weighs
133
- in on — the menu still, the HUD mockup candidates.
115
+ concept mockup itself) with their exact notes, open + link the new frame,
116
+ ask again the same structured way, and re-run the cheap chain from the new
117
+ frame (image-priced that is the design: the correction lane is cheap
118
+ because the expensive item waited). Carry every note forward so each round
119
+ compounds; if two rounds don't converge, offer 2–3 distinct directions
120
+ (that's the one moment `--candidates` earns its place) instead of
121
+ re-rolling blind. Each standing frame is the working style. When the style
122
+ changes after downstream art already ran, re-anchor it: the menu still is
123
+ re-edited (`--edit`) against the new mockup and its video re-run once from
124
+ the new still (`$genex-ai-menu` — a user-driven style change re-opens its
125
+ one-video rule), and the HUD deconstruct (Stage 2 onward, `$genex-ai-hud`)
126
+ restarts from the new mockup. Style-neutral assets (most textures, sfx,
127
+ models) usually survive — judge each in one line. The same "open it + paste
128
+ the link" rule covers every image the user weighs in on — the menu still,
129
+ the HUD mockup.
134
130
 
135
131
  **The concept anchors STYLE, not truth.** Palette, materials, light, and
136
132
  register come from the frame; CONTENT comes from the game contract. This
@@ -165,13 +161,16 @@ rule explicitly does not apply to this one message):
165
161
  ```
166
162
  UI plan
167
163
  • Screens: <list with tiers — loader / menu / pause (Esc) / win/lose / …>
168
- • Style: <4–5 named hues> · fonts <display> / <body>
164
+ • Style: <4–5 named hues> · fonts <display> / <body> (from $genex-ai-menu's
165
+ genre table, or a one-line reason)
169
166
  • References: <2–3 AAA games — one line on what's borrowed>
170
167
  • Menu: <archetype + button treatment, one-line reason from the brief>
171
- Concept (HUD mockup): <generation id 2 candidates> — awaiting your keep / change
172
- Queued ON YOUR YES (style-dependent): HUD sheet (Stage 2, from the picked
173
- mockup) · menu still video <or "no menu: reason"> · logotype <or
174
- "skipped: reason">
168
+ • HUD lane: <sprites (…) | CSS (…, one-line justification)> — recorded in DESIGN.md
169
+ Concept (HUD mockup): <generation id> shown for keep / change
170
+ (informational the chain below is already queued; silence = it stands)
171
+ • Queued on concept landing: HUD sheet (Stage 2) · menu still · logotype
172
+ <or "skipped: reason">; menu VIDEO waits for: your yes / the next preview
173
+ after the still lands / style work being all that's left <or "no menu: reason">
175
174
  • Building now (style-independent): <core loop · logic modules already moving>
176
175
  • Deferred from mockup: <widgets the image invented but the game lacks — or "none">
177
176
  ```
@@ -190,8 +189,9 @@ A message missing any line means the gate did not run — go back and run it.
190
189
  every game), and the generated **logotype** — one `--transparent` wordmark
191
190
  in the brief's display register (`$genex-ai-menu`'s logotype step), default
192
191
  YES for every game with a menu; skipping it needs a one-line stated reason.
193
- Enqueue this chain the instant the user approves the concept
194
- (`--no-wait`) it is style-dependent, so it waits on the yes then
192
+ Enqueue this chain the instant the concept mockup LANDS (`--no-wait`) —
193
+ the keep/change answer never gates it; only the menu VIDEO waits, for its
194
+ event triple (`$genex-ai-menu`) — then
195
195
  keep building, pick results up with `npx genex wait <id>`, swap them in as
196
196
  they land. **Tier 2 must never block a playable v0 — but the game is NOT
197
197
  DONE until its Tier-2 assets have landed and been wired in** (the only
@@ -200,7 +200,9 @@ A message missing any line means the gate did not run — go back and run it.
200
200
  Run `npx genex wait` on every enqueued ID before any publish and before
201
201
  the final handoff of a session — never park landed assets for "later".
202
202
  Shipping the placeholder CSS HUD as the final HUD is a failure, not a
203
- tier choice.
203
+ tier choice — the ONE exception is a DESIGN.md-recorded `HUD lane: CSS`
204
+ decision (`$genex-game-director` §5), where the CSS build, finished to
205
+ its brief, IS the production HUD.
204
206
  - **Tier 3 — offer, don't build.** Video layers over the HUD, 9-slice panel
205
207
  sprites, animated menu sprites. Offer in one line
206
208
  after the player has seen Tier 1+2 working; build on request.
@@ -522,11 +524,13 @@ architecture and consume the shared style brief.
522
524
  - Hard-cut phase swaps, a menu whose elements just appear, numbers that
523
525
  teleport.
524
526
  - A silent menu; a bare "Loading…" over black.
525
- - Style-dependent art fanned out before the user approved the concept — the
526
- concept confirmation is REQUIRED and gates the look-dependent work (HUD
527
- Stage 2, menu still/video, logotype, style-matched assets); OR the whole
528
- build stalled waiting on that yes, when concept-INDEPENDENT work (scaffold,
529
- core loop, logic subagents) must keep moving in parallel while it is pending.
527
+ - The style chain parked behind the keep/change question the HUD Stage-2
528
+ sheet, menu still, and logotype enqueue the moment the mockup LANDS, and
529
+ silence means the concept stands; OR the menu VIDEO fired while a user
530
+ objection was still open (its event triple is the only wait in the lane);
531
+ OR the whole build stalled on the concept at all, when concept-INDEPENDENT
532
+ work (scaffold, core loop, logic subagents) must keep moving in parallel
533
+ throughout.
530
534
  - A CSS-cut corner (`clip-path`/`mask`) that shears its own content — clipped
531
535
  text or padding, a lost focus ring or glow, a jagged aliased edge, or a
532
536
  border/frame that stops at the cut instead of following it — the
@@ -56,9 +56,9 @@ translation may be normalized for Rapier.
56
56
 
57
57
  For plain game tasks — nothing from the procedural/visual-system pack loaded —
58
58
  this is the whole acceptance gate, and it is also the *ceiling*: a smoke check,
59
- not a certification. Run it ONCE per milestone, and only AFTER that milestone's
60
- `genex preview` is pushed ship the rough draft first, then check it; the
61
- player may already be walking around your build while you do. Catch obvious
59
+ not a certification. Run it ONCE per milestone, against that milestone's
60
+ `genex preview` build — the player may already be walking around it while
61
+ you check. Catch obvious
62
62
  breakage, fix what's clearly broken, and hand the feel/polish judgment to the
63
63
  player — don't loop re-testing the same build, don't re-test after cosmetic
64
64
  tweaks (sounds, colors, tuning values), and don't try to exercise every button
@@ -106,7 +106,12 @@ everything twice.
106
106
  4. In that screenshot, check oriented models: the hero faces its travel
107
107
  direction, and NPCs driven by chase/aim code face their target. A model
108
108
  rotated 90° reads as broken — `$genex-ai-model` has the one-time facing
109
- fix.
109
+ fix. **In any two-character or enemy-encounter capture, the characters
110
+ face their TARGET, not the camera** — Meshy/Mixamo/VRM rigs rest facing
111
+ +Z (straight at a side camera), so an unset yaw ships duelists staring
112
+ at the lens; and a rig "turned" with `scale.x = -1` is a defect even
113
+ when it looks right from one angle (negative scale flips a SkinnedMesh's
114
+ winding and normals — the character-controller skill has the rules).
110
115
  5. Vehicles get one extra pass: drive forward once and confirm the NOSE
111
116
  leads (a 180° body is this bug's favorite disguise), and check the body
112
117
  stands ON the road with its wheels inside the silhouette — a body