@ai-game-assets/dev 0.8.3 → 0.9.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"provider-image-processing.js","sourceRoot":"","sources":["../src/provider-image-processing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-image-processing.js","sourceRoot":"","sources":["../src/provider-image-processing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { AiAssetAnimation, AiAssetDefinition, AiAssetDimensions, AiAssetFrameGrid, AiAssetTileset, AiAudioGenerationSettings, AiVoiceGenerationSettings, AiAssetGenerationSettings, AiTilesetAnimation } from "@ai-game-assets/core";
2
- import type { RgbColor } from "./provider-image-processing.js";
3
2
  import type { TilesetSheetGenerationGeometry } from "./tileset-sheet-processing.js";
4
3
  export { closestImageGenerationSize } from "./image-generation-sizes.js";
5
4
  export type GenerateAssetRequest = {
@@ -77,7 +76,6 @@ export declare function gameAssetPrompt(request: GenerateAssetRequest, context:
77
76
  model: string;
78
77
  outputFormat: "png" | "webp" | "jpeg";
79
78
  requestedBackground: AiAssetGenerationSettings["background"];
80
- chromaKey: RgbColor;
81
79
  variation?: string;
82
80
  variationIndex?: number;
83
81
  variationCount?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/provider.js CHANGED
@@ -1,9 +1,9 @@
1
+ import { DEFAULT_IMAGE_MODEL } from "@ai-game-assets/core";
1
2
  import { randomUUID } from "node:crypto";
2
- import { alignSpriteSheetFrames, hexColor, referenceLockPromptLines, removeChromaBackground, removeTilesetChromaBackground, resizePngToDimensions, resizeRasterToDimensions, rasterizeSvgToPng, resolveRequestedBackground, selectChromaKey, shouldPostprocessTransparency, shouldRequestRgbaPng, variationDirectionPromptLine } from "./provider-image-processing.js";
3
+ import { alignSpriteSheetFrames, composeSpriteSheetFrames, referenceLockPromptLines, resizePngToDimensions, resizeRasterToDimensions, rasterizeSvgToPng, resolveRequestedBackground, shouldRequestTransparency, variationDirectionPromptLine } from "./provider-image-processing.js";
3
4
  import { closestImageGenerationSize } from "./image-generation-sizes.js";
4
5
  import { cropTilesetSheetFromGeneration, parseImageGenerationSize, planTilesetSheetGeneration, stageTilesetSheetReference, tilesetSheetRectLabel } from "./tileset-sheet-processing.js";
5
6
  export { closestImageGenerationSize } from "./image-generation-sizes.js";
6
- const OPAQUE_TILESET_PADDING = { red: 0, green: 0, blue: 0 };
7
7
  export async function generateTilesetAnimationBranches(provider, request, onOption) {
8
8
  if (request.asset.kind !== "tileset" || !request.asset.tileset) {
9
9
  throw new Error(`AI asset "${request.asset.id}" is not a tileset.`);
@@ -96,7 +96,7 @@ export function tilesetAnimationFramePrompt(asset, animation, context) {
96
96
  ].join("\n");
97
97
  }
98
98
  export function createOpenAiImageProvider(options = {}) {
99
- return {
99
+ const provider = {
100
100
  async generate(request, onOption) {
101
101
  const dimensions = requireAssetDimensions(request.asset);
102
102
  const apiKey = options.apiKey ?? process.env.OPENAI_API_KEY;
@@ -106,7 +106,7 @@ export function createOpenAiImageProvider(options = {}) {
106
106
  const model = request.settings?.model ??
107
107
  request.asset.settings?.model ??
108
108
  options.model ??
109
- "gpt-image-2";
109
+ DEFAULT_IMAGE_MODEL;
110
110
  const prompt = request.prompt ?? request.asset.prompt;
111
111
  const requestedFormat = request.settings?.format ?? request.asset.settings?.format ?? "png";
112
112
  const requestedBackground = resolveRequestedBackground(request, options);
@@ -121,26 +121,31 @@ export function createOpenAiImageProvider(options = {}) {
121
121
  }, onOption);
122
122
  }
123
123
  const outputFormat = normalizeOutputFormat(requestedFormat);
124
- const chromaKey = selectChromaKey(request);
125
- const postprocessTransparency = shouldPostprocessTransparency(request, {
124
+ const transparentBackground = shouldRequestTransparency(request, {
126
125
  prompt,
127
126
  model,
128
127
  outputFormat,
129
128
  requestedBackground
130
129
  });
131
- // Generated transparency is encoded as a visible chroma matte and removed
132
- // locally. Requesting an opaque raster keeps the API-level background
133
- // setting consistent with that contract instead of suggesting alpha or a
134
- // visual checkerboard preview to the model.
135
- const background = postprocessTransparency
130
+ const background = outputFormat === "jpeg"
136
131
  ? "opaque"
137
- : normalizeBackgroundForModel(model, requestedBackground);
138
- const persistedBackground = request.settings?.background ??
132
+ : transparentBackground ? "transparent" : requestedBackground;
133
+ const persistedBackground = outputFormat === "jpeg" ? "opaque" : (request.settings?.background ??
139
134
  request.asset.settings?.background ??
140
- requestedBackground;
135
+ requestedBackground);
141
136
  const frameAlignment = request.settings?.frameAlignment ??
142
137
  request.asset.settings?.frameAlignment ??
143
138
  "center";
139
+ if (shouldGenerateIsolatedSpriteFrames(request, transparentBackground)) {
140
+ return generateIsolatedSpriteSheetFrames(provider, request, {
141
+ prompt,
142
+ count: request.count ?? 1,
143
+ model,
144
+ outputFormat,
145
+ persistedBackground,
146
+ frameAlignment
147
+ }, onOption);
148
+ }
144
149
  const configuredSize = request.settings?.size ??
145
150
  request.asset.settings?.size;
146
151
  const tilesetGeometry = request.asset.kind === "tileset" && request.asset.tileset
@@ -157,10 +162,10 @@ export function createOpenAiImageProvider(options = {}) {
157
162
  : undefined));
158
163
  const generationDimensions = parseImageGenerationSize(generationSize);
159
164
  const tilesetPadding = tilesetGeometry
160
- ? tilesetOutputPadding(postprocessTransparency, chromaKey)
165
+ ? { transparent: transparentBackground }
161
166
  : undefined;
162
167
  const assetReferences = tilesetGeometry
163
- ? await Promise.all((request.references ?? []).map((reference) => (stageTilesetSheetReference(reference, tilesetGeometry, chromaKey))))
168
+ ? await Promise.all((request.references ?? []).map((reference) => (stageTilesetSheetReference(reference, tilesetGeometry))))
164
169
  : request.references ?? [];
165
170
  const allReferences = [
166
171
  ...assetReferences,
@@ -177,7 +182,6 @@ export function createOpenAiImageProvider(options = {}) {
177
182
  model,
178
183
  outputFormat,
179
184
  requestedBackground,
180
- chromaKey,
181
185
  variation: count > 1 ? createVariationSeed(index) : undefined,
182
186
  variationIndex: index,
183
187
  variationCount: count,
@@ -211,20 +215,19 @@ export function createOpenAiImageProvider(options = {}) {
211
215
  }
212
216
  request.signal?.throwIfAborted();
213
217
  const image = Buffer.from(item.b64_json, "base64");
218
+ const alignFrames = request.asset.kind !== "tileset" &&
219
+ transparentBackground && request.asset.frameGrid && frameAlignment === "center";
214
220
  const resizedImage = tilesetGeometry
215
221
  ? await cropTilesetSheetFromGeneration(image, tilesetGeometry, outputFormat, tilesetPadding)
216
222
  : outputFormat === "png"
217
- ? resizePngToDimensions(postprocessTransparency
218
- ? removeChromaBackground(image, chromaKey)
219
- : image, dimensions)
220
- : await resizeRasterToDimensions(image, dimensions, outputFormat);
221
- const transparencyProcessedImage = tilesetGeometry && postprocessTransparency && request.asset.tileset
222
- ? removeTilesetChromaBackground(resizedImage, request.asset.tileset, chromaKey)
223
+ ? resizePngToDimensions(image, dimensions)
224
+ : await resizeRasterToDimensions(image, dimensions, alignFrames ? "png" : outputFormat);
225
+ const alignedImage = alignFrames && request.asset.frameGrid
226
+ ? alignSpriteSheetFrames(resizedImage, request.asset.frameGrid)
223
227
  : resizedImage;
224
- const processedImage = request.asset.kind !== "tileset" &&
225
- postprocessTransparency && request.asset.frameGrid && frameAlignment === "center"
226
- ? alignSpriteSheetFrames(transparencyProcessedImage, request.asset.frameGrid)
227
- : transparencyProcessedImage;
228
+ const processedImage = alignFrames && outputFormat !== "png"
229
+ ? await resizeRasterToDimensions(alignedImage, dimensions, outputFormat)
230
+ : alignedImage;
228
231
  const option = {
229
232
  image: processedImage,
230
233
  mimeType: mimeTypeFromOutputFormat(outputFormat),
@@ -240,7 +243,7 @@ export function createOpenAiImageProvider(options = {}) {
240
243
  model,
241
244
  background: persistedBackground,
242
245
  format: outputFormat === "jpeg" ? "jpg" : outputFormat,
243
- ...(postprocessTransparency && request.asset.frameGrid ? { frameAlignment } : {})
246
+ ...(transparentBackground && request.asset.frameGrid ? { frameAlignment } : {})
244
247
  }
245
248
  };
246
249
  generatedForRequest.push(option);
@@ -252,6 +255,133 @@ export function createOpenAiImageProvider(options = {}) {
252
255
  return generatedByIndex.flat();
253
256
  }
254
257
  };
258
+ return provider;
259
+ }
260
+ function shouldGenerateIsolatedSpriteFrames(request, transparentBackground) {
261
+ const frameGrid = request.asset.frameGrid;
262
+ const frameCount = frameGrid
263
+ ? Math.min(frameGrid.frameCount ?? frameGrid.columns * frameGrid.rows, frameGrid.columns * frameGrid.rows)
264
+ : 0;
265
+ return request.asset.kind === "spritesheet" &&
266
+ transparentBackground &&
267
+ frameCount > 1;
268
+ }
269
+ async function generateIsolatedSpriteSheetFrames(provider, request, context, onOption) {
270
+ const dimensions = requireAssetDimensions(request.asset);
271
+ const frameGrid = request.asset.frameGrid;
272
+ if (!frameGrid)
273
+ return [];
274
+ const frameCount = Math.min(frameGrid.frameCount ?? frameGrid.columns * frameGrid.rows, frameGrid.columns * frameGrid.rows);
275
+ return Promise.all(Array.from({ length: context.count }, async (_, optionIndex) => {
276
+ const branchSeed = createVariationSeed(optionIndex);
277
+ const frames = [];
278
+ let priorFrame;
279
+ for (let frameIndex = 0; frameIndex < frameCount; frameIndex += 1) {
280
+ request.signal?.throwIfAborted();
281
+ const framePrompt = isolatedSpriteFramePrompt(context.prompt, {
282
+ frameIndex,
283
+ frameCount,
284
+ optionIndex,
285
+ optionCount: context.count,
286
+ branchSeed,
287
+ hasPriorFrame: Boolean(priorFrame),
288
+ originalReferenceCount: request.references?.length ?? 0
289
+ });
290
+ const frameAsset = {
291
+ ...request.asset,
292
+ kind: "image",
293
+ prompt: framePrompt,
294
+ dimensions: {
295
+ width: frameGrid.frameWidth,
296
+ height: frameGrid.frameHeight
297
+ },
298
+ frameGrid: undefined
299
+ };
300
+ const references = [
301
+ ...(request.references ?? []),
302
+ ...(priorFrame ? [priorFrame] : [])
303
+ ];
304
+ const frameRequest = {
305
+ ...request,
306
+ asset: frameAsset,
307
+ prompt: framePrompt,
308
+ count: 1,
309
+ settings: {
310
+ ...request.settings,
311
+ model: context.model,
312
+ size: "auto",
313
+ format: "png",
314
+ background: "transparent",
315
+ frameAlignment: "none"
316
+ },
317
+ references
318
+ };
319
+ const generated = await provider.generate(frameRequest);
320
+ const frame = generated[0];
321
+ if (!frame) {
322
+ throw new Error(`Spritesheet "${request.asset.id}" option ${optionIndex + 1} frame ${frameIndex + 1} did not produce an image.`);
323
+ }
324
+ frames.push(frame);
325
+ priorFrame = {
326
+ image: frame.image,
327
+ mimeType: "image/png",
328
+ fileName: `prior-frame-${frameIndex + 1}.png`
329
+ };
330
+ }
331
+ request.signal?.throwIfAborted();
332
+ let processedImage = await composeSpriteSheetFrames(frames.map((frame) => frame.image), dimensions, frameGrid);
333
+ if (context.frameAlignment === "center") {
334
+ processedImage = alignSpriteSheetFrames(processedImage, frameGrid);
335
+ }
336
+ if (context.outputFormat !== "png") {
337
+ processedImage = await resizeRasterToDimensions(processedImage, dimensions, context.outputFormat);
338
+ }
339
+ const revisedPrompt = frames
340
+ .map((frame) => frame.revisedPrompt?.trim())
341
+ .filter((value) => Boolean(value))
342
+ .join("\n\n");
343
+ const option = {
344
+ image: processedImage,
345
+ mimeType: mimeTypeFromOutputFormat(context.outputFormat),
346
+ prompt: context.prompt,
347
+ model: context.model,
348
+ ...(revisedPrompt ? { revisedPrompt } : {}),
349
+ dimensions,
350
+ frameGrid,
351
+ tileset: request.asset.tileset,
352
+ settings: {
353
+ ...request.asset.settings,
354
+ ...request.settings,
355
+ model: context.model,
356
+ background: context.persistedBackground,
357
+ format: context.outputFormat === "jpeg" ? "jpg" : context.outputFormat,
358
+ frameAlignment: context.frameAlignment
359
+ }
360
+ };
361
+ request.signal?.throwIfAborted();
362
+ await onOption?.(option, optionIndex);
363
+ return option;
364
+ }));
365
+ }
366
+ function isolatedSpriteFramePrompt(prompt, context) {
367
+ const frameNumber = context.frameIndex + 1;
368
+ const priorReferenceNumber = context.originalReferenceCount + 1;
369
+ return [
370
+ prompt.trim(),
371
+ "",
372
+ `Generate only animation frame ${frameNumber} of ${context.frameCount} for candidate ${context.optionIndex + 1} of ${context.optionCount}.`,
373
+ `Candidate identity seed: ${context.branchSeed}. Keep this candidate's rendering and motion treatment consistent across every frame.`,
374
+ `Ignore and override any frame count, grid, row, column, canvas, or spritesheet-layout wording in the original brief. The authoritative animation has exactly ${context.frameCount} frames, and this request must return only frame ${frameNumber} as one isolated full-frame image containing exactly one complete pose, never a spritesheet, contact sheet, sequence, grid, or multiple poses.`,
375
+ `Render the animation phase at t=${context.frameIndex}/${context.frameCount}. Keep the pose meaningfully continuous with adjacent phases and make the complete sequence loop cleanly from its final sampled phase back to frame 1.`,
376
+ ...(context.hasPriorFrame
377
+ ? [
378
+ `Reference ${priorReferenceNumber} is the immediately preceding generated frame. Use it only for identity, scale, placement, and motion continuity; advance the action to the requested phase instead of copying it exactly.`
379
+ ]
380
+ : [
381
+ "This is the first sampled phase. Establish the character identity, scale, and placement that all later frames should preserve."
382
+ ]),
383
+ "Show the entire subject with padding on every side. Do not crop the head, feet, limbs, clothing, effects, or shadow at the canvas edge."
384
+ ].join("\n");
255
385
  }
256
386
  async function generateSvgAssets(request, context, onOption) {
257
387
  const dimensions = requireAssetDimensions(request.asset);
@@ -401,7 +531,7 @@ export function gameAssetPrompt(request, context) {
401
531
  const structuredTilesetPrompt = isTilesetAnimation
402
532
  ? []
403
533
  : context.tilesetGeometry
404
- ? modelTilesetArtworkPromptLines(request.asset, shouldRequestRgbaPng(request, context) ? context.chromaKey : undefined)
534
+ ? modelTilesetArtworkPromptLines(request.asset, shouldRequestTransparency(request, context))
405
535
  : structuredTilesetPromptLines(request.asset);
406
536
  if (structuredTilesetPrompt.length &&
407
537
  !brief?.includes(structuredTilesetPrompt.join("\n"))) {
@@ -412,7 +542,7 @@ export function gameAssetPrompt(request, context) {
412
542
  "Perform a minimal in-place edit of the immutable base tileset reference; do not redraw the sheet.",
413
543
  `Asset kind: ${request.asset.kind}.`,
414
544
  ...(context.tilesetGeometry
415
- ? tilesetGenerationGeometryPromptLines(request.asset, context.tilesetGeometry, context.chromaKey, shouldRequestRgbaPng(request, context), !isTilesetAnimation && !request.references?.length)
545
+ ? tilesetGenerationGeometryPromptLines(request.asset, context.tilesetGeometry, shouldRequestTransparency(request, context), !isTilesetAnimation && !request.references?.length)
416
546
  : [
417
547
  `Target canvas: ${dimensions.width}x${dimensions.height}. The output origin and every cell boundary must exactly match Reference 1.`
418
548
  ])
@@ -421,14 +551,14 @@ export function gameAssetPrompt(request, context) {
421
551
  "Create this as a clean 2D game asset sprite.",
422
552
  `Asset kind: ${request.asset.kind}.`,
423
553
  ...(context.tilesetGeometry
424
- ? tilesetGenerationGeometryPromptLines(request.asset, context.tilesetGeometry, context.chromaKey, shouldRequestRgbaPng(request, context), !isTilesetAnimation && !request.references?.length)
554
+ ? tilesetGenerationGeometryPromptLines(request.asset, context.tilesetGeometry, shouldRequestTransparency(request, context), !isTilesetAnimation && !request.references?.length)
425
555
  : rasterGenerationCanvasPromptLines(generationDimensions, dimensions))
426
556
  ]));
427
- if (request.asset.kind === "tileset" && shouldRequestRgbaPng(request, context)) {
428
- lines.push("Decide independently for each tile whether its artwork should be opaque edge-to-edge or should contain transparent pixels, based on what that tile depicts.", `For any tile that needs transparency, encode every transparent or empty pixel with the exact flat chroma-key color ${hexColor(context.chromaKey)}. This color is the transparency marker and will be removed after generation.`, `Never use any other matte, background, checkerboard, or substitute transparency color. Do not use ${hexColor(context.chromaKey)} in visible tile artwork.`, "For a tile that does not need transparency, fill the cell edge-to-edge and do not use the chroma-key color. Do not add labels, borders, or shadows outside tiles, and do not treat the entire multi-tile canvas as one centered presentation card.");
557
+ if (request.asset.kind === "tileset" && shouldRequestTransparency(request, context)) {
558
+ lines.push("Decide independently for each tile whether its artwork should be opaque edge-to-edge or should contain transparent pixels, based on what that tile depicts.", "Return native alpha transparency for every transparent or empty pixel. Do not draw a checkerboard, a solid backdrop, or a substitute matte.", "For a tile that does not need transparency, fill the cell edge-to-edge with opaque artwork. Do not add labels, borders, or shadows outside tiles, and do not treat the entire multi-tile canvas as one centered presentation card.");
429
559
  }
430
- else if (shouldRequestRgbaPng(request, context)) {
431
- lines.push("The final game asset will have a transparent background after local processing. Use a centered subject, no text, no watermark, no cast shadow, no floor shadow, no ground plane, and no reflection. Keep the sprite readable through its shape and pose; do not darken or recolor the character to create contrast.", `Return a fully opaque PNG for this generation step. Render every background and empty padding pixel as the single exact flat chroma-key color ${hexColor(context.chromaKey)}. Do not use that exact chroma-key color inside the game asset itself.`, "Do not return native alpha, a checkerboard, a substitute matte color, a gradient, texture, lighting, or color variation in the chroma-key background. Local processing will remove the chroma key and create the final RGBA transparency.", "Keep the asset edges crisp against the chroma-key background so it can be removed cleanly.");
560
+ else if (shouldRequestTransparency(request, context)) {
561
+ lines.push("Return an isolated sprite with native alpha transparency. Leave the background and empty padding fully transparent. Do not draw a checkerboard or a solid backdrop.", "Use a centered subject, no text, no watermark, no cast shadow, no floor shadow, no ground plane, and no reflection. Keep the sprite readable through its shape and pose; do not darken or recolor the character to create contrast.", "Preserve transparent backgrounds in reference images and subsequent edits, including partially transparent edge pixels.");
432
562
  }
433
563
  else if (context.tilesetGeometry) {
434
564
  lines.push("Make every usable tile cell opaque edge-to-edge as required by its tile instruction. Never extend tile artwork into another cell or into the temporary outer padding.");
@@ -459,8 +589,8 @@ export function gameAssetPrompt(request, context) {
459
589
  ? []
460
590
  : [
461
591
  `After generation, the complete sheet will be resampled to the final ${dimensions.width}x${dimensions.height} game asset with ${request.asset.frameGrid.frameWidth}x${request.asset.frameGrid.frameHeight} logical cells; do not use those final logical coordinates for the generated raster.`
462
- ]), `Do not merge cells, crop cells, add extra frames beyond ${frameCount}, or change the grid layout.`, "Each grid cell must contain exactly one complete frame of the subject. Do not place a nested spritesheet, turnaround sheet, contact sheet, labels, thumbnails, or multiple mini-poses inside any single cell.", "Keep every visible part of each subject strictly inside its own cell with chroma-key padding on every side. No head, foot, limb, shadow, or stray pixel from one frame may cross into the row or column beside it.", "The grid layout is mandatory even if the animation would look nicer in another arrangement.");
463
- if (shouldRequestRgbaPng(request, context)) {
592
+ ]), `Do not merge cells, crop cells, add extra frames beyond ${frameCount}, or change the grid layout.`, "Each grid cell must contain exactly one complete frame of the subject. Do not place a nested spritesheet, turnaround sheet, contact sheet, labels, thumbnails, or multiple mini-poses inside any single cell.", "Keep every visible part of each subject strictly inside its own cell with empty padding on every side. No head, foot, limb, shadow, or stray pixel from one frame may cross into the row or column beside it.", "The grid layout is mandatory even if the animation would look nicer in another arrangement.");
593
+ if (shouldRequestTransparency(request, context)) {
464
594
  lines.push(`If the grid has more cells than ${frameCount}, leave the extra trailing cells fully transparent and empty.`, "Keep the character centered at a consistent scale in every cell, leaving transparent padding inside the cell.");
465
595
  }
466
596
  else {
@@ -468,7 +598,7 @@ export function gameAssetPrompt(request, context) {
468
598
  }
469
599
  }
470
600
  else {
471
- if (shouldRequestRgbaPng(request, context)) {
601
+ if (shouldRequestTransparency(request, context)) {
472
602
  lines.push("Single-image asset contract: create exactly one complete sprite on the canvas.", "Do not create a spritesheet, turnaround sheet, contact sheet, sequence, grid, multiple poses, multiple variants, panels, labels, or frame divisions.", "Keep the full subject visible with transparent padding on all sides. The subject must not touch the canvas edges and must not be cropped.");
473
603
  }
474
604
  else {
@@ -544,25 +674,24 @@ function structuredTilesetPromptLines(asset) {
544
674
  ...tileset.tiles.map((tile, index) => `Tile ${index + 1} — ${tile.prompt.trim()}`)
545
675
  ];
546
676
  }
547
- function modelTilesetArtworkPromptLines(asset, chromaKey) {
677
+ function modelTilesetArtworkPromptLines(asset, transparent) {
548
678
  const tileset = asset.tileset;
549
679
  if (!tileset?.tiles)
550
680
  return [];
551
681
  const tileCount = tileset.tileCount ?? tileset.columns * tileset.rows;
552
- const chroma = chromaKey ? hexColor(chromaKey) : undefined;
553
682
  return [
554
683
  "Create one deterministic hand-authored tileset in the isolated generation-canvas tile slots declared below.",
555
684
  "Read tile slots left-to-right, then top-to-bottom.",
556
685
  "Use one cohesive visual style, palette, scale, lighting, perspective, and pixel treatment across every tile.",
557
- ...(chroma
686
+ ...(transparent
558
687
  ? [
559
- `Raster transparency encoding for every numbered tile: "transparent" or "empty" describes game alpha after post-processing. In the raster you return, paint every such pixel the exact flat chroma color ${chroma}. Never draw a checkerboard transparency preview, white/gray squares, actual-alpha preview pattern, or any other matte.`
688
+ 'Use native alpha for every numbered tile: "transparent" or "empty" means transparent pixels. Never draw a checkerboard transparency preview or a solid matte.'
560
689
  ]
561
690
  : []),
562
691
  `Draw exactly these ${tileCount} tiles in this exact order:`,
563
692
  ...tileset.tiles.map((tile, index) => (`Tile ${index + 1} — ${tile.prompt.trim()}` +
564
- (chroma
565
- ? ` Encoding rule for Tile ${index + 1}: if any pixel should be transparent or empty, paint that pixel only ${chroma}; never represent transparency with a checkerboard or another background.`
693
+ (transparent
694
+ ? ` Transparency for Tile ${index + 1}: use native alpha for transparent or empty pixels; never represent transparency with a checkerboard or another background.`
566
695
  : "")))
567
696
  ];
568
697
  }
@@ -589,7 +718,7 @@ function tilesetContractPromptLines(asset, includeStructuredPrompt = true) {
589
718
  `If the grid has more than ${tileCount} cells, leave only the trailing unused cells empty while preserving the full declared sheet geometry.`
590
719
  ];
591
720
  }
592
- function tilesetGenerationGeometryPromptLines(asset, geometry, chromaKey, transparentPadding, requireSafeContentInset) {
721
+ function tilesetGenerationGeometryPromptLines(asset, geometry, transparentPadding, requireSafeContentInset) {
593
722
  const tileset = asset.tileset;
594
723
  if (!tileset)
595
724
  return [];
@@ -622,19 +751,19 @@ function tilesetGenerationGeometryPromptLines(asset, geometry, chromaKey, transp
622
751
  requireSafeContentInset
623
752
  ? "Put exactly one requested tile in each usable rectangle. Keep every visible pixel wholly inside its own rectangle. Edge-to-edge opaque terrain must fill only its own rectangle. Every isolated object that uses transparency must be complete, centered, and surrounded by empty padding. Never bridge two slots or continue artwork through a gutter."
624
753
  : "Put exactly one requested tile in each usable rectangle and preserve referenced artwork at its existing scale and position. Keep every visible pixel wholly inside its own rectangle. Never bridge two slots or continue artwork through a gutter.",
625
- `Fill every pixel that is not inside an actual usable extracted tile rectangle with the exact flat hard-gutter color ${hexColor(chromaKey)}. This explicitly includes the remainder of every equal placement region, every inter-tile gap, and all outer padding around extracted rectangles. Put no artwork, shadow, outline, texture, or antialiasing there.`,
754
+ `Keep every pixel that is not inside an actual usable extracted tile rectangle ${transparentPadding ? "fully transparent using native alpha" : "solid opaque black"}. This explicitly includes the remainder of every equal placement region, every inter-tile gap, and all outer padding around extracted rectangles. Put no artwork, shadow, outline, texture, or antialiasing there.`,
626
755
  "The server extracts each tile rectangle independently and composes the final game sheet in row-major order. Any pixel drawn outside its rectangle is irretrievably discarded with the temporary gutter, so keep every tile complete and entirely within its own rectangle.",
627
756
  "Compatible terrain tiles must match edge colors and connectors conceptually while remaining physically isolated by the temporary gutters. The gutters are discarded during composition and are not part of the game tiles.",
628
757
  ...(transparentPadding && requireSafeContentInset
629
758
  ? [
630
759
  `For any tile that both needs transparency and depicts an isolated, non-connecting object or cutout, keep every visible pixel strictly inside its centered safe-content rectangle: ${safeRectangles}. The complete silhouette must not touch or cross the safe-content rectangle edge.`,
631
760
  "A transparent terrain, connector, wall, corner, or overlay that is explicitly meant to meet a tile edge is exempt from the safe-content inset on that required edge, but it must never cross its outer tile rectangle.",
632
- `Within an isolated transparent object or cutout tile, fill every pixel outside the visible silhouette—including the entire band between its safe-content rectangle and its outer tile rectangle—with only the exact chroma-key color ${hexColor(chromaKey)}; the server converts it to transparency.`
761
+ "Within an isolated transparent object or cutout tile, leave every pixel outside the visible silhouette—including the entire band between its safe-content rectangle and its outer tile rectangle—fully transparent using native alpha."
633
762
  ]
634
763
  : []),
635
764
  ...(unusedRectangles
636
765
  ? [
637
- `Leave these unused generation-canvas slots empty and filled only with the hard-gutter color ${hexColor(chromaKey)}: ${unusedRectangles}.`
766
+ `Leave these unused generation-canvas slots empty and ${transparentPadding ? "fully transparent using native alpha" : "solid opaque black"}: ${unusedRectangles}.`
638
767
  ]
639
768
  : [])
640
769
  ];
@@ -642,12 +771,6 @@ function tilesetGenerationGeometryPromptLines(asset, geometry, chromaKey, transp
642
771
  function safeTilesetContentInset(size) {
643
772
  return Math.min(Math.max(1, Math.floor(size / 8)), Math.max(0, Math.floor((size - 1) / 2)));
644
773
  }
645
- function tilesetOutputPadding(transparent, chromaKey) {
646
- return {
647
- color: transparent ? chromaKey : OPAQUE_TILESET_PADDING,
648
- transparent
649
- };
650
- }
651
774
  function tilesetTileRectangle(asset, index) {
652
775
  const tileset = asset.tileset;
653
776
  if (!tileset)
@@ -868,12 +991,6 @@ function requireAssetDimensions(asset) {
868
991
  }
869
992
  return asset.dimensions;
870
993
  }
871
- function normalizeBackgroundForModel(model, background) {
872
- if (model.startsWith("gpt-image-2") && background === "transparent") {
873
- return "auto";
874
- }
875
- return background;
876
- }
877
994
  function mimeTypeFromOutputFormat(format) {
878
995
  switch (format) {
879
996
  case "webp":