@ai-game-assets/dev 0.6.0 → 0.8.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.
@@ -99,6 +99,12 @@ export function normalizeAssetUrls(manifest) {
99
99
  if (typeof version.file === "string") {
100
100
  version.file = productionAssetUrl(version.file);
101
101
  }
102
+ if (typeof version.tilesetSourceFile === "string") {
103
+ version.tilesetSourceFile = productionAssetUrl(version.tilesetSourceFile);
104
+ }
105
+ for (const sequence of Object.values(version.tilesetAnimations ?? {})) {
106
+ sequence.files = sequence.files.map(productionAssetUrl);
107
+ }
102
108
  }
103
109
  }
104
110
  for (const image of manifest.styleGuide?.images ?? []) {
@@ -114,6 +120,14 @@ export function referencedAssetFiles(manifest) {
114
120
  if (typeof version.file === "string") {
115
121
  files.add(version.file);
116
122
  }
123
+ if (typeof version.tilesetSourceFile === "string") {
124
+ files.add(version.tilesetSourceFile);
125
+ }
126
+ for (const sequence of Object.values(version.tilesetAnimations ?? {})) {
127
+ for (const file of sequence.files) {
128
+ files.add(file);
129
+ }
130
+ }
117
131
  }
118
132
  }
119
133
  for (const image of manifest.styleGuide?.images ?? []) {
@@ -1 +1 @@
1
- {"version":3,"file":"build-manifest.js","sourceRoot":"","sources":["../src/build-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-manifest.js","sourceRoot":"","sources":["../src/build-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AiAssetDimensions } from "@ai-game-assets/core";
2
+ export type ImageGenerationSize = AiAssetDimensions & {
3
+ value: string;
4
+ };
5
+ export declare const OPENAI_IMAGE_GENERATION_SIZES: readonly ImageGenerationSize[];
6
+ export declare function closestImageGenerationSize(dimensions: AiAssetDimensions): string;
7
+ //# sourceMappingURL=image-generation-sizes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-generation-sizes.d.ts","sourceRoot":"","sources":["../src/image-generation-sizes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,SAAS,mBAAmB,EAIvE,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,CAShF"}
@@ -0,0 +1,15 @@
1
+ export const OPENAI_IMAGE_GENERATION_SIZES = [
2
+ { value: "1024x1024", width: 1024, height: 1024 },
3
+ { value: "1536x1024", width: 1536, height: 1024 },
4
+ { value: "1024x1536", width: 1024, height: 1536 }
5
+ ];
6
+ export function closestImageGenerationSize(dimensions) {
7
+ const targetRatio = dimensions.width / dimensions.height;
8
+ return OPENAI_IMAGE_GENERATION_SIZES
9
+ .map((size) => ({
10
+ ...size,
11
+ distance: Math.abs(Math.log(targetRatio / (size.width / size.height)))
12
+ }))
13
+ .sort((left, right) => left.distance - right.distance)[0].value;
14
+ }
15
+ //# sourceMappingURL=image-generation-sizes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-generation-sizes.js","sourceRoot":"","sources":["../src/image-generation-sizes.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,6BAA6B,GAAmC;IAC3E,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;CAClD,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,UAA6B;IACtE,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;IAEzD,OAAO,6BAA6B;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KACvE,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;AACrE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export type { AiImageProvider, GenerateAssetReference, GeneratedAssetOption, GenerateAssetRequest, OpenAiImageProviderOptions } from "./provider.js";
2
- export { createOpenAiImageProvider } from "./provider.js";
1
+ export type { AiImageProvider, GenerateAssetReference, GeneratedTilesetAnimationOption, GeneratedTilesetAnimationOptionCallback, GeneratedAssetOption, GenerateTilesetAnimationRequest, GenerateAssetRequest, OpenAiImageProviderOptions } from "./provider.js";
2
+ export { createOpenAiImageProvider, generateTilesetAnimationBranches, tilesetBasePrompt, tilesetAnimationFramePrompt } from "./provider.js";
3
3
  export type { AiAudioProvider, ElevenLabsAudioProviderOptions, GenerateAudioAssetRequest } from "./audio-provider.js";
4
4
  export { createElevenLabsAudioProvider } from "./audio-provider.js";
5
- export type { AssetStoreOptions, SaveGeneratedOptionInput, SaveGeneratedOptionResult, SaveStyleGuideInput } from "./asset-store.js";
6
- export { readManifest, saveGeneratedOption, saveStyleGuide, writeManifestModule, writeManifest } from "./asset-store.js";
7
- export type { AiAssetDevServerOptions } from "./server.js";
8
- export { createAiAssetDevServer } from "./server.js";
5
+ export type { AssetStoreOptions, SaveGeneratedOptionInput, SaveGeneratedOptionResult, SaveTilesetAnimationInput, SaveTilesetAnimationResult, TilesetAnimationFrameInput, SaveStyleGuideInput } from "./asset-store.js";
6
+ export { readManifest, saveGeneratedOption, saveTilesetAnimation, saveStyleGuide, writeManifestModule, writeManifest } from "./asset-store.js";
7
+ export type { AiAssetDevServerOptions, GeneratedTilesetAnimationStreamOption, GenerateTilesetAnimationStreamEvent, GenerateTilesetAnimationStreamRequest, SaveDebugOptionResponse, SaveTilesetAnimationRequest, SaveTilesetAnimationResponse, SerializedGeneratedAssetOption, TilesetGenerationOverride } from "./server.js";
8
+ export { createAiAssetDevServer, serializeGeneratedTilesetAnimationOption } from "./server.js";
9
9
  export type { BuildManifestOptions } from "./build-manifest.js";
10
10
  export { buildManifestModule, normalizeAssetUrls, pruneManifestForBuild, readManifestDirectory, referencedAssetFiles } from "./build-manifest.js";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,YAAY,EACV,eAAe,EACf,8BAA8B,EAC9B,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,+BAA+B,EAC/B,uCAAuC,EACvC,oBAAoB,EACpB,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,eAAe,EACf,8BAA8B,EAC9B,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,uBAAuB,EACvB,qCAAqC,EACrC,mCAAmC,EACnC,qCAAqC,EACrC,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,wCAAwC,EACzC,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { createOpenAiImageProvider } from "./provider.js";
1
+ export { createOpenAiImageProvider, generateTilesetAnimationBranches, tilesetBasePrompt, tilesetAnimationFramePrompt } from "./provider.js";
2
2
  export { createElevenLabsAudioProvider } from "./audio-provider.js";
3
- export { readManifest, saveGeneratedOption, saveStyleGuide, writeManifestModule, writeManifest } from "./asset-store.js";
4
- export { createAiAssetDevServer } from "./server.js";
3
+ export { readManifest, saveGeneratedOption, saveTilesetAnimation, saveStyleGuide, writeManifestModule, writeManifest } from "./asset-store.js";
4
+ export { createAiAssetDevServer, serializeGeneratedTilesetAnimationOption } from "./server.js";
5
5
  export { buildManifestModule, normalizeAssetUrls, pruneManifestForBuild, readManifestDirectory, referencedAssetFiles } from "./build-manifest.js";
6
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAQ1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AASpE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAIrD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAYpE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAc1B,OAAO,EACL,sBAAsB,EACtB,wCAAwC,EACzC,MAAM,aAAa,CAAC;AAIrB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { addVersion, assertManifest, createAiAssetVersion } from "@ai-game-assets/core";
2
- export type { AiAssetDefinition, AiAssetManifest, AiAssetStyleGuide, AiAssetTarget, AiAssetVersion } from "@ai-game-assets/core";
2
+ export type { AiAssetDefinition, AiAssetManifest, AiAssetStyleGuide, AiAssetTarget, AiAssetVersion, AiTilesetAnimation, AiTilesetTileTransform } from "@ai-game-assets/core";
3
3
  export type { GeneratedAssetOption } from "./provider.js";
4
4
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AiAssetDimensions, AiAssetFrameGrid, AiAssetGenerationSettings } from "@ai-game-assets/core";
1
+ import type { AiAssetDimensions, AiAssetFrameGrid, AiAssetGenerationSettings, AiAssetTileset } from "@ai-game-assets/core";
2
2
  import { PNG } from "pngjs";
3
3
  import type { GenerateAssetReference, GenerateAssetRequest, OpenAiImageProviderOptions } from "./provider.js";
4
4
  export type RgbColor = {
@@ -50,6 +50,7 @@ export declare function shouldPostprocessTransparency(request: GenerateAssetRequ
50
50
  requestedBackground: AiAssetGenerationSettings["background"];
51
51
  }): boolean;
52
52
  export declare function removeChromaBackground(image: Uint8Array, chromaKey: RgbColor): Buffer;
53
+ export declare function removeTilesetChromaBackground(image: Uint8Array, tileset: AiAssetTileset, chromaKey: RgbColor): Buffer;
53
54
  type BackgroundRemoval = {
54
55
  kind: "chroma";
55
56
  chromaKey: RgbColor;
@@ -61,6 +62,8 @@ export declare function detectBackgroundRemoval(png: PNG, chromaKey: RgbColor):
61
62
  export declare function hasRequestedChromaKey(png: PNG, chromaKey: RgbColor): boolean;
62
63
  export declare function detectNeutralEdgeMatte(png: PNG): RgbColor | undefined;
63
64
  export declare function resizePngToDimensions(image: Uint8Array, dimensions: AiAssetDimensions): Buffer;
65
+ export declare function resizeRasterToDimensions(image: Uint8Array, dimensions: AiAssetDimensions, outputFormat: "webp" | "jpeg"): Promise<Buffer>;
66
+ export declare function rasterizeSvgToPng(image: Uint8Array): Promise<Buffer>;
64
67
  export declare function alignSpriteSheetFrames(image: Uint8Array, frameGrid: AiAssetFrameGrid): Buffer;
65
68
  export declare function featherBackgroundEdges(png: PNG, transparent: Uint8Array, backgroundRemoval: BackgroundRemoval): void;
66
69
  export declare function touchesTransparentNeighbor(transparent: Uint8Array, width: number, height: number, x: number, y: number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-image-processing.d.ts","sourceRoot":"","sources":["../src/provider-image-processing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-image-processing.d.ts","sourceRoot":"","sources":["../src/provider-image-processing.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { PNG } from "pngjs";
2
+ import sharp from "sharp";
2
3
  const DEFAULT_CHROMA_KEY = { red: 255, green: 0, blue: 255 };
3
4
  const CHROMA_KEY_CANDIDATES = [
4
5
  DEFAULT_CHROMA_KEY,
@@ -13,7 +14,11 @@ const CHROMA_EDGE_FILL_TOLERANCE = 150;
13
14
  export function selectChromaKey(request) {
14
15
  const samples = [...(request.references ?? []), ...(request.styleReferences ?? [])]
15
16
  .flatMap((reference) => referenceColorSamples(reference));
16
- const prompt = `${request.prompt ?? ""} ${request.asset.prompt}`.toLowerCase();
17
+ const prompt = [
18
+ request.prompt,
19
+ request.asset.prompt,
20
+ ...(request.asset.tileset?.tiles?.map((tile) => tile.prompt) ?? [])
21
+ ].filter(Boolean).join(" ").toLowerCase();
17
22
  if (!samples.length) {
18
23
  return CHROMA_KEY_CANDIDATES.find((candidate) => !promptMentionsChromaFamily(prompt, candidate)) ??
19
24
  DEFAULT_CHROMA_KEY;
@@ -233,7 +238,8 @@ export function shouldRequestRgbaPng(request, context) {
233
238
  return true;
234
239
  }
235
240
  return (/\btransparent\b/i.test(context.prompt) ||
236
- /\btransparent\b/i.test(request.asset.prompt));
241
+ /\btransparent\b/i.test(request.asset.prompt) ||
242
+ request.asset.tileset?.tiles?.some((tile) => /\btransparent\b/i.test(tile.prompt)) === true);
237
243
  }
238
244
  export function resolveRequestedBackground(request, options) {
239
245
  const requested = request.settings?.background ??
@@ -248,16 +254,59 @@ export function shouldPostprocessTransparency(request, context) {
248
254
  }
249
255
  export function removeChromaBackground(image, chromaKey) {
250
256
  const png = PNG.sync.read(Buffer.from(image));
257
+ const backgroundRemoval = detectBackgroundRemoval(png, chromaKey);
258
+ if (!backgroundRemoval) {
259
+ return Buffer.from(image);
260
+ }
261
+ removeDetectedBackground(png, backgroundRemoval);
262
+ return PNG.sync.write(png);
263
+ }
264
+ export function removeTilesetChromaBackground(image, tileset, chromaKey) {
265
+ const png = PNG.sync.read(Buffer.from(image));
266
+ const tileCapacity = tileset.columns * tileset.rows;
267
+ const tileCount = Math.min(tileset.tileCount ?? tileCapacity, tileCapacity);
268
+ const cellPixels = new Uint8Array(png.width * png.height);
269
+ for (let index = 0; index < tileCapacity; index += 1) {
270
+ const bounds = scaledTilesetCellBounds(png, tileset, index);
271
+ if (!bounds)
272
+ continue;
273
+ markPngRect(cellPixels, png.width, bounds.x, bounds.y, bounds.width, bounds.height);
274
+ if (index >= tileCount) {
275
+ clearPngRect(png, bounds.x, bounds.y, bounds.width, bounds.height);
276
+ continue;
277
+ }
278
+ const cell = copyPngRect(png, bounds.x, bounds.y, bounds.width, bounds.height);
279
+ if (removeKnownChromaPixels(cell, chromaKey)) {
280
+ pastePngRect(png, cell, bounds.x, bounds.y);
281
+ }
282
+ }
283
+ clearUnmarkedPngPixels(png, cellPixels);
284
+ return PNG.sync.write(png);
285
+ }
286
+ function markPngRect(pixels, imageWidth, x, y, width, height) {
287
+ for (let localY = 0; localY < height; localY += 1) {
288
+ const start = (y + localY) * imageWidth + x;
289
+ pixels.fill(1, start, start + width);
290
+ }
291
+ }
292
+ function clearUnmarkedPngPixels(png, markedPixels) {
293
+ for (let index = 0; index < markedPixels.length; index += 1) {
294
+ if (markedPixels[index])
295
+ continue;
296
+ const offset = index * 4;
297
+ png.data[offset] = 0;
298
+ png.data[offset + 1] = 0;
299
+ png.data[offset + 2] = 0;
300
+ png.data[offset + 3] = 0;
301
+ }
302
+ }
303
+ function removeDetectedBackground(png, backgroundRemoval) {
251
304
  const width = png.width;
252
305
  const height = png.height;
253
306
  const visited = new Uint8Array(width * height);
254
307
  const transparent = new Uint8Array(width * height);
255
308
  const queue = [];
256
309
  let queueCursor = 0;
257
- const backgroundRemoval = detectBackgroundRemoval(png, chromaKey);
258
- if (!backgroundRemoval) {
259
- return Buffer.from(image);
260
- }
261
310
  const enqueue = (x, y) => {
262
311
  if (x < 0 || y < 0 || x >= width || y >= height)
263
312
  return;
@@ -295,7 +344,55 @@ export function removeChromaBackground(image, chromaKey) {
295
344
  }
296
345
  }
297
346
  featherBackgroundEdges(png, transparent, backgroundRemoval);
298
- return PNG.sync.write(png);
347
+ }
348
+ function removeKnownChromaPixels(png, chromaKey) {
349
+ const transparent = new Uint8Array(png.width * png.height);
350
+ let found = false;
351
+ for (let index = 0; index < transparent.length; index += 1) {
352
+ if (isChromaPixel(png, index, CHROMA_MATCH_TOLERANCE, chromaKey) ||
353
+ isKeyTintedPixel(rgbAt(png, index), chromaKey, 0.86)) {
354
+ transparent[index] = 1;
355
+ setAlpha(png, index, 0);
356
+ found = true;
357
+ }
358
+ }
359
+ if (found) {
360
+ featherBackgroundEdges(png, transparent, { kind: "chroma", chromaKey });
361
+ }
362
+ return found;
363
+ }
364
+ function scaledTilesetCellBounds(png, tileset, index) {
365
+ const margin = tileset.margin ?? 0;
366
+ const spacing = tileset.spacing ?? 0;
367
+ const sheetWidth = margin * 2 + tileset.columns * tileset.tileWidth +
368
+ Math.max(0, tileset.columns - 1) * spacing;
369
+ const sheetHeight = margin * 2 + tileset.rows * tileset.tileHeight +
370
+ Math.max(0, tileset.rows - 1) * spacing;
371
+ if (sheetWidth <= 0 || sheetHeight <= 0 || index < 0 || index >= tileset.columns * tileset.rows) {
372
+ return undefined;
373
+ }
374
+ const column = index % tileset.columns;
375
+ const row = Math.floor(index / tileset.columns);
376
+ const sourceX = margin + column * (tileset.tileWidth + spacing);
377
+ const sourceY = margin + row * (tileset.tileHeight + spacing);
378
+ const x = Math.round((sourceX / sheetWidth) * png.width);
379
+ const y = Math.round((sourceY / sheetHeight) * png.height);
380
+ const right = Math.round(((sourceX + tileset.tileWidth) / sheetWidth) * png.width);
381
+ const bottom = Math.round(((sourceY + tileset.tileHeight) / sheetHeight) * png.height);
382
+ return {
383
+ x,
384
+ y,
385
+ width: Math.max(1, right - x),
386
+ height: Math.max(1, bottom - y)
387
+ };
388
+ }
389
+ function copyPngRect(png, x, y, width, height) {
390
+ const target = new PNG({ width, height });
391
+ PNG.bitblt(png, target, x, y, width, height, 0, 0);
392
+ return target;
393
+ }
394
+ function pastePngRect(png, source, x, y) {
395
+ PNG.bitblt(source, png, 0, 0, source.width, source.height, x, y);
299
396
  }
300
397
  export function detectBackgroundRemoval(png, chromaKey) {
301
398
  if (hasRequestedChromaKey(png, chromaKey)) {
@@ -374,6 +471,31 @@ export function resizePngToDimensions(image, dimensions) {
374
471
  }
375
472
  return PNG.sync.write(target);
376
473
  }
474
+ export async function resizeRasterToDimensions(image, dimensions, outputFormat) {
475
+ const sourceImage = Buffer.from(image);
476
+ const metadata = await sharp(sourceImage, {
477
+ failOn: "error"
478
+ }).metadata();
479
+ if (metadata.width === dimensions.width &&
480
+ metadata.height === dimensions.height &&
481
+ metadata.format === outputFormat) {
482
+ return sourceImage;
483
+ }
484
+ const resized = sharp(sourceImage, {
485
+ failOn: "error"
486
+ }).resize(dimensions.width, dimensions.height, {
487
+ fit: "fill",
488
+ kernel: sharp.kernel.nearest
489
+ });
490
+ return outputFormat === "webp"
491
+ ? resized.webp({ quality: 100 }).toBuffer()
492
+ : resized.jpeg({ quality: 95 }).toBuffer();
493
+ }
494
+ export async function rasterizeSvgToPng(image) {
495
+ return sharp(Buffer.from(image), {
496
+ failOn: "error"
497
+ }).png().toBuffer();
498
+ }
377
499
  export function alignSpriteSheetFrames(image, frameGrid) {
378
500
  const png = PNG.sync.read(Buffer.from(image));
379
501
  const margin = frameGrid.margin ?? 0;
@@ -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,13 +1,17 @@
1
- import type { AiAssetAnimation, AiAssetDefinition, AiAssetDimensions, AiAssetFrameGrid, AiAudioGenerationSettings, AiVoiceGenerationSettings, AiAssetGenerationSettings } from "@ai-game-assets/core";
1
+ import type { AiAssetAnimation, AiAssetDefinition, AiAssetDimensions, AiAssetFrameGrid, AiAssetTileset, AiAudioGenerationSettings, AiVoiceGenerationSettings, AiAssetGenerationSettings, AiTilesetAnimation } from "@ai-game-assets/core";
2
2
  import type { RgbColor } from "./provider-image-processing.js";
3
+ import type { TilesetSheetGenerationGeometry } from "./tileset-sheet-processing.js";
4
+ export { closestImageGenerationSize } from "./image-generation-sizes.js";
3
5
  export type GenerateAssetRequest = {
4
6
  asset: AiAssetDefinition;
7
+ purpose?: "tileset-animation";
5
8
  prompt?: string;
6
9
  count?: number;
7
10
  settings?: AiAssetGenerationSettings;
8
11
  references?: GenerateAssetReference[];
9
12
  stylePrompt?: string;
10
13
  styleReferences?: GenerateAssetReference[];
14
+ signal?: AbortSignal;
11
15
  };
12
16
  export type GenerateAssetReference = {
13
17
  image: Uint8Array;
@@ -27,12 +31,39 @@ export type GeneratedAssetOption = {
27
31
  durationSeconds?: number;
28
32
  dimensions?: AiAssetDimensions;
29
33
  frameGrid?: AiAssetFrameGrid;
34
+ tileset?: AiAssetTileset;
30
35
  animations?: AiAssetAnimation[];
31
36
  };
32
37
  export type GeneratedAssetOptionCallback = (option: GeneratedAssetOption, index: number) => void | Promise<void>;
33
38
  export type AiImageProvider = {
34
39
  generate(request: GenerateAssetRequest, onOption?: GeneratedAssetOptionCallback): Promise<GeneratedAssetOption[]>;
35
40
  };
41
+ export type GenerateTilesetAnimationRequest = {
42
+ asset: AiAssetDefinition;
43
+ animationKey: string;
44
+ prompt?: string;
45
+ count?: number;
46
+ settings?: AiAssetGenerationSettings;
47
+ baseReference: GenerateAssetReference;
48
+ stylePrompt?: string;
49
+ styleReferences?: GenerateAssetReference[];
50
+ signal?: AbortSignal;
51
+ };
52
+ export type GeneratedTilesetAnimationOption = {
53
+ index: number;
54
+ animationKey: string;
55
+ frames: GeneratedAssetOption[];
56
+ };
57
+ export type GeneratedTilesetAnimationOptionCallback = (option: GeneratedTilesetAnimationOption) => void | Promise<void>;
58
+ export declare function generateTilesetAnimationBranches(provider: AiImageProvider, request: GenerateTilesetAnimationRequest, onOption?: GeneratedTilesetAnimationOptionCallback): Promise<GeneratedTilesetAnimationOption[]>;
59
+ export declare function tilesetAnimationFramePrompt(asset: AiAssetDefinition, animation: AiTilesetAnimation, context: {
60
+ prompt?: string;
61
+ frameIndex: number;
62
+ branchIndex: number;
63
+ branchCount: number;
64
+ branchSeed: string;
65
+ priorFrameCount: number;
66
+ }): string;
36
67
  export type OpenAiImageProviderOptions = {
37
68
  apiKey?: string;
38
69
  model?: string;
@@ -50,5 +81,7 @@ export declare function gameAssetPrompt(request: GenerateAssetRequest, context:
50
81
  variation?: string;
51
82
  variationIndex?: number;
52
83
  variationCount?: number;
84
+ tilesetGeometry?: TilesetSheetGenerationGeometry;
53
85
  }): string;
86
+ export declare function tilesetBasePrompt(asset: AiAssetDefinition): string;
54
87
  //# sourceMappingURL=provider.d.ts.map