@genex-ai/cli-demo 1.8.1-dev.496 → 1.8.1-dev.498

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/dist/index.js CHANGED
@@ -20292,6 +20292,12 @@ ${c.bold("Usage")}
20292
20292
  refusal. "test <id>" gives you a free copy of
20293
20293
  your own item: you can't buy from your own game,
20294
20294
  so this is how you check the shop works.
20295
+ --icon <url> is the item's square art, shown in
20296
+ the shop and on the resale market \u2014 generate it
20297
+ from the item's real in-game look with
20298
+ "genex image ... --edit <reference>" and pass the
20299
+ printed URL. An icon-less item renders as a
20300
+ placeholder tile everywhere it is sold.
20295
20301
  --resellable lets players resell the item to each
20296
20302
  other on the market; durable items only, off by
20297
20303
  default, and --no-resellable turns it back off.
@@ -20545,8 +20551,9 @@ ${c.bold("Examples")}
20545
20551
  genex domain add play.mygame.com
20546
20552
  genex domain list
20547
20553
  genex shop list
20548
- genex shop add "Iron Key" --price 100 --type durable --resellable
20554
+ genex shop add "Iron Key" --price 100 --type durable --resellable --icon https://assets.genex.technology/generations/abc123/image-main
20549
20555
  genex shop set sku_123 --price 200
20556
+ genex shop set sku_123 --icon https://assets.genex.technology/generations/abc123/image-main
20550
20557
  genex shop test sku_123
20551
20558
  genex shop remove sku_123
20552
20559
  genex publish --no-push --title "My Game"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genex-ai/cli-demo",
3
- "version": "1.8.1-dev.496",
3
+ "version": "1.8.1-dev.498",
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": {
@@ -135,6 +135,54 @@ to spend. Pick the nearest grid price rather than working around it.
135
135
  Record the ids in `DESIGN.md` next to what each item does. They are the one
136
136
  thing the game's code cannot regenerate for itself.
137
137
 
138
+ ## Item art
139
+
140
+ **Every item ships with a picture.** `--icon` is optional to the command and not
141
+ optional to the product: a SKU with no icon renders as a coloured plate with a
142
+ generic box on it, in your shop and on the platform's resale market, where it
143
+ sits next to other games' items that do have art.
144
+
145
+ **It has to be the item.** Not "a fantasy key" — *this* key, the one the player
146
+ just picked up, in this game's light and this game's palette. An icon that shows
147
+ a different object than the world does is worse than the plate, because the
148
+ plate at least does not claim anything.
149
+
150
+ So if the item exists as an asset — a generated model, a sprite, a texture —
151
+ generate the art FROM it. Point the camera at the model in the game, or use the
152
+ asset image, and feed that frame in as the reference:
153
+
154
+ ```bash
155
+ # 1. capture the real item -> ./iron-key-ref.png (crop it SQUARE, see below)
156
+ npx genex image "shop item art of the exact object in the reference image: an ornate iron key, centred, lit from above with a soft rim light, on a clean dark backdrop, no text, no watermark, no interface" \
157
+ --edit ./iron-key-ref.png --quality high
158
+ # -> https://assets.genex.technology/generations/<id>/image-main
159
+
160
+ # 2. attach it
161
+ npx genex shop add "Iron Key" --price 100 --type durable --icon <that url>
162
+ npx genex shop set sku_a1b2c3 --icon <that url> # or fix one later
163
+ ```
164
+
165
+ `--edit` takes a **local file** (≤ 4 MB) as well as an asset URL, so a screenshot
166
+ goes straight in. Two things about that lane:
167
+
168
+ - **It keeps the reference's shape**, so `--aspect` does nothing here — crop the
169
+ reference square before you pass it, or you will get a wide icon in a square
170
+ cell.
171
+ - It is a different model from the plain text lane, and a better one for this
172
+ job, because the reference is what makes the picture the item and not a
173
+ picture of the idea.
174
+
175
+ No asset yet? Same prompt without `--edit`, anchored on the item's name and on
176
+ **the game's own vibe words** — take them from `DESIGN.md` rather than inventing
177
+ a style, and generate the whole shop in one sitting with the same style clause
178
+ so the shelf reads as one set.
179
+
180
+ Prompt shape, and every clause earns its place: one object, centred, on a clean
181
+ simple backdrop, lit the way the game lights things, closing with *no text, no
182
+ watermark, no interface*. Say what you want, never what you don't — an image
183
+ model reads "no swords" as "swords", so a ban only works when the thing is
184
+ absent from the prompt entirely.
185
+
138
186
  ## The API
139
187
 
140
188
  From `@genex-ai/embed-sdk`, already installed. `initEmbed()` must have run.