pixelkiln 0.86.3 → 0.88.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.
package/dist/index.d.ts CHANGED
@@ -172,6 +172,12 @@ interface SubmitContext {
172
172
  * PixelLab would otherwise skip) reads its ids from here.
173
173
  */
174
174
  replacedMetadata?: ProviderMetadata;
175
+ /**
176
+ * Provider-owned details of this asset's newest downloaded generation,
177
+ * current or retired to history. Unlike `replacedMetadata` it survives a
178
+ * failed attempt in between, which leaves the entry it replaces empty.
179
+ */
180
+ lastGenerationMetadata?: ProviderMetadata;
175
181
  }
176
182
  interface CandidateSelection {
177
183
  objectId: string;
@@ -556,18 +562,19 @@ type SkeletonSet = z.infer<typeof SkeletonSetSchema>;
556
562
  * Arbitrary width x height. Returns exactly one result, so there is no
557
563
  * selection step: if you dislike it, re-roll for 1 more.
558
564
  *
559
- * 1dir POST /create-1-direction-object. 20-40 generations.
565
+ * 1dir POST /create-1-direction-object. 10-25 generations (20-40 before
566
+ * PixelLab's October 2026 Pro price cut).
560
567
  * The single-facing sibling of create-8-direction-object, meant for
561
568
  * objects you may later want rotations or animations of. Square only.
562
569
  * Returns 4-64 candidates for its one fixed price, which is genuinely
563
- * useful when you want to compare options side by side, but at 40x the
564
- * cost of a map object, re-rolling a map object forty times is the same
565
- * money. Reach for this when you need rotations, or when the extra
566
- * rendering detail is worth 40x.
570
+ * useful when you want to compare options side by side, but at 10-25x
571
+ * the cost of a map object, re-rolling a map object that many times is
572
+ * the same money. Reach for this when you need rotations, or when the
573
+ * extra rendering detail is worth it.
567
574
  *
568
575
  * Rule of thumb: if the asset is a standalone image and you are not going to
569
576
  * animate or rotate it, `map` is the right call. Generating 65 icons costs 65
570
- * generations that way and 2,600 the other.
577
+ * generations that way and 650-1,625 the other.
571
578
  *
572
579
  * Not yet implemented, but measured and worth knowing (see README):
573
580
  * POST /create-image-pixflux also costs 1 generation, returns the image
@@ -577,7 +584,7 @@ type SkeletonSet = z.infer<typeof SkeletonSetSchema>;
577
584
  * parameter on /map-objects returns a 500, so the palette lock is
578
585
  * pixflux-only. Its rendering is flatter than 1dir's.
579
586
  */
580
- declare const GeneratorSchema: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>;
587
+ declare const GeneratorSchema: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>;
581
588
  type Generator = z.infer<typeof GeneratorSchema>;
582
589
  declare const GridConfidenceSchema: z.ZodEnum<["low", "medium", "high"]>;
583
590
  type GridConfidence = z.infer<typeof GridConfidenceSchema>;
@@ -638,31 +645,35 @@ declare function candidateCount(size: number): number;
638
645
  * map FLAT 1 generation, any size. Verified: a 32x36 and a 64x96 map object
639
646
  * each cost exactly 1 (balance 4751 → 4750 → 4749). Single result.
640
647
  *
641
- * 1dir 20-40 by canvas tier (1K=20, 2K=25, 4K=40), returning 4-64
642
- * candidates for that one price.
648
+ * 1dir 10-25 by canvas tier (1K=10, 2K=15, 4K=25), returning 4-64
649
+ * candidates for that one price. PixelLab cut every Pro tier in
650
+ * October 2026 (release 0.4.128) from 20/25/40 to 10/15/25;
651
+ * re-measuring `inpaint-v3` showed the breakpoints did not move
652
+ * (see `proTierCost`).
643
653
  *
644
- * tiles 20-40 on the same canvas tiers as `1dir`, but the canvas is picked
654
+ * tiles 10-25 on the same canvas tiers as `1dir`, but the canvas is picked
645
655
  * from tile size x variation count rather than a single sprite, so a
646
656
  * small tile in a large set can still reach the top tier. Reported by
647
657
  * the API at submit time; estimated here from the widest canvas the
648
658
  * request can produce, which is the honest direction to be wrong in
649
659
  * for a `--budget` check.
650
660
  *
651
- * imagePro FLAT 40 generations, any size or aspect ratio, regardless of
652
- * canvas tier (docs/ENDPOINTS.md, "Single-image generators,
653
- * measured"). `/generate-image-v2`, the Pro image tier: unlike
654
- * `pixflux`, it reaches non-square canvases up to 792x688 and does
655
- * real style transfer, at a flat price rather than one that scales
656
- * with area the way `1dir`/`tiles` do.
661
+ * imagePro Tiered since October 2026, see `proTierCost`. It was a flat 40
662
+ * at any size before PixelLab's 0.4.128 price cut; a 64x64 call
663
+ * billed exactly 10 after it (docs/ENDPOINTS.md, "Single-image
664
+ * generators, measured"). `/generate-image-v2`, the Pro image tier:
665
+ * unlike `pixflux`, it reaches non-square canvases up to 792x688
666
+ * and does real style transfer.
657
667
  *
658
668
  * uiAsset Confirmed live at one data point, and it disproved the borrowed
659
669
  * formula: a real 256x192 (49152px²) call billed exactly 20
660
- * generations (balance 4979.8 → 4959.8), the low end of the
661
- * `create_ui_asset` MCP tool's "20-40 generations" claim. No
670
+ * generations (balance 4979.8 → 4959.8) under the old prices, the
671
+ * low end of the `create_ui_asset` MCP tool's then "20-40
672
+ * generations" claim (10 at today's floor). No
662
673
  * dedicated branch exists here, so it still falls through to the
663
674
  * same canvas-tier formula as `1dir`/`tiles` below, which — given
664
675
  * uiAsset's 192px-per-side floor (36864px²) already past the
665
- * 2048px² top tier — always predicts the 40 ceiling. That
676
+ * 2048px² top tier — always predicts the 25 ceiling. That
666
677
  * prediction is now known wrong: 49152px² sits well above where
667
678
  * `1dir`/`tiles` would bill 40, yet this billed the floor price.
668
679
  * Left unpatched from one data point, which keeps `--budget` an
@@ -680,11 +691,29 @@ declare function candidateCount(size: number): number;
680
691
  * through to the same canvas tiers as `1dir`/`tiles`, the safe
681
692
  * over-read for a Pro endpoint.
682
693
  *
683
- * So `1dir` buys candidate variety at 20-40x the price, and `map` buys
694
+ * So `1dir` buys candidate variety at 10-25x the price, and `map` buys
684
695
  * arbitrary (non-square) dimensions nearly free. For a single-result asset,
685
- * forty re-rolls of a map object cost the same as one 1dir call.
696
+ * ten to twenty-five re-rolls of a map object cost the same as one 1dir call.
686
697
  */
687
698
  declare function generationCost(width: number, height: number, generator?: Generator): number;
699
+ /**
700
+ * PixelLab's Pro price ladder, floor to ceiling, in generations. PixelLab's
701
+ * release 0.4.128 (October 2026) cut it from 20/25/40 to 10/15/25 across
702
+ * every Pro tool: images, edits, inpaints, objects, Pro characters, states,
703
+ * and Pro animations. PixelLab's own OpenAPI now quotes "10-25 generations"
704
+ * for objects, Pro characters, and Pro animations.
705
+ */
706
+ declare const PRO_TIER_PRICES: readonly [10, 15, 25];
707
+ /**
708
+ * One Pro call on a canvas whose size is known, at the breakpoints measured
709
+ * on `/inpaint-v3` (docs/ENDPOINTS.md): up to 256x256 (65536px²) is the
710
+ * floor, up to 320x320 (102400px²) the middle tier, anything larger the
711
+ * top. PixelLab's release notes describe the new tiers as 16-256, 256-384,
712
+ * and 384-512 per side, but re-measured after the cut, 256x256 billed 10,
713
+ * 288x288 15, and both 352x352 and 384x384 billed 25: the breakpoints did
714
+ * not move, only the prices.
715
+ */
716
+ declare function proTierCost(width: number, height: number): number;
688
717
  /**
689
718
  * Cost of one `tiles` call. Same canvas tiers as `1dir`, but the canvas is the
690
719
  * sheet the API lays the variations out on, not one tile, so tile size alone
@@ -1087,6 +1116,74 @@ declare const MapSceneSchema: z.ZodObject<{
1087
1116
  } | undefined;
1088
1117
  }>;
1089
1118
  type MapScene = z.infer<typeof MapSceneSchema>;
1119
+ /** One part added to a `vfx` effect: the part's name plus its placement and slider options, sent as given. */
1120
+ declare const VfxPartSchema: z.ZodObject<{
1121
+ name: z.ZodString;
1122
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
1123
+ name: z.ZodString;
1124
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
1125
+ name: z.ZodString;
1126
+ }, z.ZodUnknown, "strip">>;
1127
+ /**
1128
+ * `vfx` assets only: an animated effect rendered by PixelLab's VFX workbench.
1129
+ * Start from a whole-effect `preset` or a `recipe` file (a bare recipe or a
1130
+ * `.vfx.json` record from `pixelkiln vfx`), not both, and add `parts` on
1131
+ * top; parts alone also start an effect. `sprite` is the character the
1132
+ * effect is built around: a manifest-relative PNG or JPEG (any earlier
1133
+ * asset's output file works) or a PixelLab reference. `name` is the effect's
1134
+ * name in the account's My effects and is not part of its identity.
1135
+ */
1136
+ declare const AssetVfxSchema: z.ZodEffects<z.ZodObject<{
1137
+ preset: z.ZodOptional<z.ZodString>;
1138
+ recipe: z.ZodOptional<z.ZodString>;
1139
+ parts: z.ZodOptional<z.ZodArray<z.ZodObject<{
1140
+ name: z.ZodString;
1141
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
1142
+ name: z.ZodString;
1143
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
1144
+ name: z.ZodString;
1145
+ }, z.ZodUnknown, "strip">>, "many">>;
1146
+ sprite: z.ZodOptional<z.ZodString>;
1147
+ fps: z.ZodOptional<z.ZodNumber>;
1148
+ name: z.ZodOptional<z.ZodString>;
1149
+ }, "strict", z.ZodTypeAny, {
1150
+ fps?: number | undefined;
1151
+ name?: string | undefined;
1152
+ preset?: string | undefined;
1153
+ recipe?: string | undefined;
1154
+ parts?: z.objectOutputType<{
1155
+ name: z.ZodString;
1156
+ }, z.ZodUnknown, "strip">[] | undefined;
1157
+ sprite?: string | undefined;
1158
+ }, {
1159
+ fps?: number | undefined;
1160
+ name?: string | undefined;
1161
+ preset?: string | undefined;
1162
+ recipe?: string | undefined;
1163
+ parts?: z.objectInputType<{
1164
+ name: z.ZodString;
1165
+ }, z.ZodUnknown, "strip">[] | undefined;
1166
+ sprite?: string | undefined;
1167
+ }>, {
1168
+ fps?: number | undefined;
1169
+ name?: string | undefined;
1170
+ preset?: string | undefined;
1171
+ recipe?: string | undefined;
1172
+ parts?: z.objectOutputType<{
1173
+ name: z.ZodString;
1174
+ }, z.ZodUnknown, "strip">[] | undefined;
1175
+ sprite?: string | undefined;
1176
+ }, {
1177
+ fps?: number | undefined;
1178
+ name?: string | undefined;
1179
+ preset?: string | undefined;
1180
+ recipe?: string | undefined;
1181
+ parts?: z.objectInputType<{
1182
+ name: z.ZodString;
1183
+ }, z.ZodUnknown, "strip">[] | undefined;
1184
+ sprite?: string | undefined;
1185
+ }>;
1186
+ type AssetVfx = z.infer<typeof AssetVfxSchema>;
1090
1187
  /** Applies a reference outfit to an existing loop's frames (PixelLab's `transfer-outfit-v2`). */
1091
1188
  declare const CharacterOutfitSchema: z.ZodObject<{
1092
1189
  /** The loop (a character animation asset) to re-clothe, in the same style. */
@@ -1609,7 +1706,7 @@ interface ResolvedRevision {
1609
1706
  declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
1610
1707
  /** Generation backend for this style. Omit to inherit the manifest default. */
1611
1708
  provider: z.ZodOptional<z.ZodString>;
1612
- generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>;
1709
+ generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>;
1613
1710
  /** Square edge length. The active provider owns its exact limit. */
1614
1711
  size: z.ZodOptional<z.ZodNumber>;
1615
1712
  view: z.ZodOptional<z.ZodString>;
@@ -1980,7 +2077,7 @@ declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
1980
2077
  }, "strict", z.ZodTypeAny, {
1981
2078
  outDir: string;
1982
2079
  palette: string[];
1983
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
2080
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
1984
2081
  promptSuffix: string;
1985
2082
  promptPrefix: string;
1986
2083
  styleImages: {
@@ -2072,7 +2169,7 @@ declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2072
2169
  shading?: string | undefined;
2073
2170
  detail?: string | undefined;
2074
2171
  enhancePrompt?: boolean | undefined;
2075
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
2172
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
2076
2173
  view?: string | undefined;
2077
2174
  promptSuffix?: string | undefined;
2078
2175
  promptPrefix?: string | undefined;
@@ -2146,7 +2243,7 @@ declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2146
2243
  }>, {
2147
2244
  outDir: string;
2148
2245
  palette: string[];
2149
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
2246
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
2150
2247
  promptSuffix: string;
2151
2248
  promptPrefix: string;
2152
2249
  styleImages: {
@@ -2238,7 +2335,7 @@ declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2238
2335
  shading?: string | undefined;
2239
2336
  detail?: string | undefined;
2240
2337
  enhancePrompt?: boolean | undefined;
2241
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
2338
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
2242
2339
  view?: string | undefined;
2243
2340
  promptSuffix?: string | undefined;
2244
2341
  promptPrefix?: string | undefined;
@@ -2312,7 +2409,7 @@ declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2312
2409
  }>, {
2313
2410
  outDir: string;
2314
2411
  palette: string[];
2315
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
2412
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
2316
2413
  promptSuffix: string;
2317
2414
  promptPrefix: string;
2318
2415
  styleImages: {
@@ -2404,7 +2501,7 @@ declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2404
2501
  shading?: string | undefined;
2405
2502
  detail?: string | undefined;
2406
2503
  enhancePrompt?: boolean | undefined;
2407
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
2504
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
2408
2505
  view?: string | undefined;
2409
2506
  promptSuffix?: string | undefined;
2410
2507
  promptPrefix?: string | undefined;
@@ -2482,7 +2579,7 @@ declare const StyleSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2482
2579
  */
2483
2580
  declare const InheritedStyleSchema: z.ZodObject<{
2484
2581
  provider: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2485
- generator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>>;
2582
+ generator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>>;
2486
2583
  size: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
2487
2584
  view: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2488
2585
  promptSuffix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
@@ -2638,7 +2735,7 @@ declare const InheritedStyleSchema: z.ZodObject<{
2638
2735
  shading?: string | undefined;
2639
2736
  detail?: string | undefined;
2640
2737
  enhancePrompt?: boolean | undefined;
2641
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
2738
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
2642
2739
  view?: string | undefined;
2643
2740
  promptSuffix?: string | undefined;
2644
2741
  promptPrefix?: string | undefined;
@@ -2722,7 +2819,7 @@ declare const InheritedStyleSchema: z.ZodObject<{
2722
2819
  shading?: string | undefined;
2723
2820
  detail?: string | undefined;
2724
2821
  enhancePrompt?: boolean | undefined;
2725
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
2822
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
2726
2823
  view?: string | undefined;
2727
2824
  promptSuffix?: string | undefined;
2728
2825
  promptPrefix?: string | undefined;
@@ -2797,7 +2894,7 @@ declare const InheritedStyleSchema: z.ZodObject<{
2797
2894
  declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObject<{
2798
2895
  /** Generation backend for this style. Omit to inherit the manifest default. */
2799
2896
  provider: z.ZodOptional<z.ZodString>;
2800
- generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>;
2897
+ generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>;
2801
2898
  /** Square edge length. The active provider owns its exact limit. */
2802
2899
  size: z.ZodOptional<z.ZodNumber>;
2803
2900
  view: z.ZodOptional<z.ZodString>;
@@ -3168,7 +3265,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3168
3265
  }, "strict", z.ZodTypeAny, {
3169
3266
  outDir: string;
3170
3267
  palette: string[];
3171
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
3268
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
3172
3269
  promptSuffix: string;
3173
3270
  promptPrefix: string;
3174
3271
  styleImages: {
@@ -3260,7 +3357,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3260
3357
  shading?: string | undefined;
3261
3358
  detail?: string | undefined;
3262
3359
  enhancePrompt?: boolean | undefined;
3263
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
3360
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
3264
3361
  view?: string | undefined;
3265
3362
  promptSuffix?: string | undefined;
3266
3363
  promptPrefix?: string | undefined;
@@ -3334,7 +3431,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3334
3431
  }>, {
3335
3432
  outDir: string;
3336
3433
  palette: string[];
3337
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
3434
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
3338
3435
  promptSuffix: string;
3339
3436
  promptPrefix: string;
3340
3437
  styleImages: {
@@ -3426,7 +3523,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3426
3523
  shading?: string | undefined;
3427
3524
  detail?: string | undefined;
3428
3525
  enhancePrompt?: boolean | undefined;
3429
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
3526
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
3430
3527
  view?: string | undefined;
3431
3528
  promptSuffix?: string | undefined;
3432
3529
  promptPrefix?: string | undefined;
@@ -3500,7 +3597,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3500
3597
  }>, {
3501
3598
  outDir: string;
3502
3599
  palette: string[];
3503
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
3600
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
3504
3601
  promptSuffix: string;
3505
3602
  promptPrefix: string;
3506
3603
  styleImages: {
@@ -3592,7 +3689,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3592
3689
  shading?: string | undefined;
3593
3690
  detail?: string | undefined;
3594
3691
  enhancePrompt?: boolean | undefined;
3595
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
3692
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
3596
3693
  view?: string | undefined;
3597
3694
  promptSuffix?: string | undefined;
3598
3695
  promptPrefix?: string | undefined;
@@ -3665,7 +3762,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3665
3762
  providerOptions?: Record<string, Record<string, unknown>> | undefined;
3666
3763
  }>, z.ZodObject<{
3667
3764
  provider: z.ZodOptional<z.ZodOptional<z.ZodString>>;
3668
- generator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>>;
3765
+ generator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>>;
3669
3766
  size: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
3670
3767
  view: z.ZodOptional<z.ZodOptional<z.ZodString>>;
3671
3768
  promptSuffix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
@@ -3821,7 +3918,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3821
3918
  shading?: string | undefined;
3822
3919
  detail?: string | undefined;
3823
3920
  enhancePrompt?: boolean | undefined;
3824
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
3921
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
3825
3922
  view?: string | undefined;
3826
3923
  promptSuffix?: string | undefined;
3827
3924
  promptPrefix?: string | undefined;
@@ -3905,7 +4002,7 @@ declare const StyleInputSchema: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObjec
3905
4002
  shading?: string | undefined;
3906
4003
  detail?: string | undefined;
3907
4004
  enhancePrompt?: boolean | undefined;
3908
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
4005
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
3909
4006
  view?: string | undefined;
3910
4007
  promptSuffix?: string | undefined;
3911
4008
  promptPrefix?: string | undefined;
@@ -4543,6 +4640,57 @@ declare const AssetSchema: z.ZodEffects<z.ZodObject<{
4543
4640
  mask: string;
4544
4641
  } | undefined;
4545
4642
  }>>;
4643
+ /** `vfx` styles only: the effect to render. See `AssetVfxSchema`. */
4644
+ vfx: z.ZodOptional<z.ZodEffects<z.ZodObject<{
4645
+ preset: z.ZodOptional<z.ZodString>;
4646
+ recipe: z.ZodOptional<z.ZodString>;
4647
+ parts: z.ZodOptional<z.ZodArray<z.ZodObject<{
4648
+ name: z.ZodString;
4649
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
4650
+ name: z.ZodString;
4651
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
4652
+ name: z.ZodString;
4653
+ }, z.ZodUnknown, "strip">>, "many">>;
4654
+ sprite: z.ZodOptional<z.ZodString>;
4655
+ fps: z.ZodOptional<z.ZodNumber>;
4656
+ name: z.ZodOptional<z.ZodString>;
4657
+ }, "strict", z.ZodTypeAny, {
4658
+ fps?: number | undefined;
4659
+ name?: string | undefined;
4660
+ preset?: string | undefined;
4661
+ recipe?: string | undefined;
4662
+ parts?: z.objectOutputType<{
4663
+ name: z.ZodString;
4664
+ }, z.ZodUnknown, "strip">[] | undefined;
4665
+ sprite?: string | undefined;
4666
+ }, {
4667
+ fps?: number | undefined;
4668
+ name?: string | undefined;
4669
+ preset?: string | undefined;
4670
+ recipe?: string | undefined;
4671
+ parts?: z.objectInputType<{
4672
+ name: z.ZodString;
4673
+ }, z.ZodUnknown, "strip">[] | undefined;
4674
+ sprite?: string | undefined;
4675
+ }>, {
4676
+ fps?: number | undefined;
4677
+ name?: string | undefined;
4678
+ preset?: string | undefined;
4679
+ recipe?: string | undefined;
4680
+ parts?: z.objectOutputType<{
4681
+ name: z.ZodString;
4682
+ }, z.ZodUnknown, "strip">[] | undefined;
4683
+ sprite?: string | undefined;
4684
+ }, {
4685
+ fps?: number | undefined;
4686
+ name?: string | undefined;
4687
+ preset?: string | undefined;
4688
+ recipe?: string | undefined;
4689
+ parts?: z.objectInputType<{
4690
+ name: z.ZodString;
4691
+ }, z.ZodUnknown, "strip">[] | undefined;
4692
+ sprite?: string | undefined;
4693
+ }>>;
4546
4694
  /** `character` styles, `standard` humanoid bases: this character's proportions, over the style's. */
4547
4695
  proportions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["default", "chibi", "cartoon", "stylized", "realistic_male", "realistic_female", "heroic"]>, z.ZodObject<{
4548
4696
  headSize: z.ZodOptional<z.ZodNumber>;
@@ -4649,6 +4797,16 @@ declare const AssetSchema: z.ZodEffects<z.ZodObject<{
4649
4797
  detail?: string | undefined;
4650
4798
  enhancePrompt?: boolean | undefined;
4651
4799
  } | undefined;
4800
+ vfx?: {
4801
+ fps?: number | undefined;
4802
+ name?: string | undefined;
4803
+ preset?: string | undefined;
4804
+ recipe?: string | undefined;
4805
+ parts?: z.objectOutputType<{
4806
+ name: z.ZodString;
4807
+ }, z.ZodUnknown, "strip">[] | undefined;
4808
+ sprite?: string | undefined;
4809
+ } | undefined;
4652
4810
  size?: number | undefined;
4653
4811
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
4654
4812
  state?: {
@@ -4770,6 +4928,16 @@ declare const AssetSchema: z.ZodEffects<z.ZodObject<{
4770
4928
  detail?: string | undefined;
4771
4929
  enhancePrompt?: boolean | undefined;
4772
4930
  } | undefined;
4931
+ vfx?: {
4932
+ fps?: number | undefined;
4933
+ name?: string | undefined;
4934
+ preset?: string | undefined;
4935
+ recipe?: string | undefined;
4936
+ parts?: z.objectInputType<{
4937
+ name: z.ZodString;
4938
+ }, z.ZodUnknown, "strip">[] | undefined;
4939
+ sprite?: string | undefined;
4940
+ } | undefined;
4773
4941
  size?: number | undefined;
4774
4942
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
4775
4943
  state?: {
@@ -4901,6 +5069,16 @@ declare const AssetSchema: z.ZodEffects<z.ZodObject<{
4901
5069
  detail?: string | undefined;
4902
5070
  enhancePrompt?: boolean | undefined;
4903
5071
  } | undefined;
5072
+ vfx?: {
5073
+ fps?: number | undefined;
5074
+ name?: string | undefined;
5075
+ preset?: string | undefined;
5076
+ recipe?: string | undefined;
5077
+ parts?: z.objectOutputType<{
5078
+ name: z.ZodString;
5079
+ }, z.ZodUnknown, "strip">[] | undefined;
5080
+ sprite?: string | undefined;
5081
+ } | undefined;
4904
5082
  size?: number | undefined;
4905
5083
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
4906
5084
  state?: {
@@ -5022,6 +5200,16 @@ declare const AssetSchema: z.ZodEffects<z.ZodObject<{
5022
5200
  detail?: string | undefined;
5023
5201
  enhancePrompt?: boolean | undefined;
5024
5202
  } | undefined;
5203
+ vfx?: {
5204
+ fps?: number | undefined;
5205
+ name?: string | undefined;
5206
+ preset?: string | undefined;
5207
+ recipe?: string | undefined;
5208
+ parts?: z.objectInputType<{
5209
+ name: z.ZodString;
5210
+ }, z.ZodUnknown, "strip">[] | undefined;
5211
+ sprite?: string | undefined;
5212
+ } | undefined;
5025
5213
  size?: number | undefined;
5026
5214
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
5027
5215
  state?: {
@@ -5141,7 +5329,7 @@ declare const ManifestSchema: z.ZodObject<{
5141
5329
  styles: z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodEffects<z.ZodObject<{
5142
5330
  /** Generation backend for this style. Omit to inherit the manifest default. */
5143
5331
  provider: z.ZodOptional<z.ZodString>;
5144
- generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>;
5332
+ generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>;
5145
5333
  /** Square edge length. The active provider owns its exact limit. */
5146
5334
  size: z.ZodOptional<z.ZodNumber>;
5147
5335
  view: z.ZodOptional<z.ZodString>;
@@ -5512,7 +5700,7 @@ declare const ManifestSchema: z.ZodObject<{
5512
5700
  }, "strict", z.ZodTypeAny, {
5513
5701
  outDir: string;
5514
5702
  palette: string[];
5515
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
5703
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
5516
5704
  promptSuffix: string;
5517
5705
  promptPrefix: string;
5518
5706
  styleImages: {
@@ -5604,7 +5792,7 @@ declare const ManifestSchema: z.ZodObject<{
5604
5792
  shading?: string | undefined;
5605
5793
  detail?: string | undefined;
5606
5794
  enhancePrompt?: boolean | undefined;
5607
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
5795
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
5608
5796
  view?: string | undefined;
5609
5797
  promptSuffix?: string | undefined;
5610
5798
  promptPrefix?: string | undefined;
@@ -5678,7 +5866,7 @@ declare const ManifestSchema: z.ZodObject<{
5678
5866
  }>, {
5679
5867
  outDir: string;
5680
5868
  palette: string[];
5681
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
5869
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
5682
5870
  promptSuffix: string;
5683
5871
  promptPrefix: string;
5684
5872
  styleImages: {
@@ -5770,7 +5958,7 @@ declare const ManifestSchema: z.ZodObject<{
5770
5958
  shading?: string | undefined;
5771
5959
  detail?: string | undefined;
5772
5960
  enhancePrompt?: boolean | undefined;
5773
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
5961
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
5774
5962
  view?: string | undefined;
5775
5963
  promptSuffix?: string | undefined;
5776
5964
  promptPrefix?: string | undefined;
@@ -5844,7 +6032,7 @@ declare const ManifestSchema: z.ZodObject<{
5844
6032
  }>, {
5845
6033
  outDir: string;
5846
6034
  palette: string[];
5847
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
6035
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
5848
6036
  promptSuffix: string;
5849
6037
  promptPrefix: string;
5850
6038
  styleImages: {
@@ -5936,7 +6124,7 @@ declare const ManifestSchema: z.ZodObject<{
5936
6124
  shading?: string | undefined;
5937
6125
  detail?: string | undefined;
5938
6126
  enhancePrompt?: boolean | undefined;
5939
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
6127
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
5940
6128
  view?: string | undefined;
5941
6129
  promptSuffix?: string | undefined;
5942
6130
  promptPrefix?: string | undefined;
@@ -6573,6 +6761,57 @@ declare const ManifestSchema: z.ZodObject<{
6573
6761
  mask: string;
6574
6762
  } | undefined;
6575
6763
  }>>;
6764
+ /** `vfx` styles only: the effect to render. See `AssetVfxSchema`. */
6765
+ vfx: z.ZodOptional<z.ZodEffects<z.ZodObject<{
6766
+ preset: z.ZodOptional<z.ZodString>;
6767
+ recipe: z.ZodOptional<z.ZodString>;
6768
+ parts: z.ZodOptional<z.ZodArray<z.ZodObject<{
6769
+ name: z.ZodString;
6770
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
6771
+ name: z.ZodString;
6772
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
6773
+ name: z.ZodString;
6774
+ }, z.ZodUnknown, "strip">>, "many">>;
6775
+ sprite: z.ZodOptional<z.ZodString>;
6776
+ fps: z.ZodOptional<z.ZodNumber>;
6777
+ name: z.ZodOptional<z.ZodString>;
6778
+ }, "strict", z.ZodTypeAny, {
6779
+ fps?: number | undefined;
6780
+ name?: string | undefined;
6781
+ preset?: string | undefined;
6782
+ recipe?: string | undefined;
6783
+ parts?: z.objectOutputType<{
6784
+ name: z.ZodString;
6785
+ }, z.ZodUnknown, "strip">[] | undefined;
6786
+ sprite?: string | undefined;
6787
+ }, {
6788
+ fps?: number | undefined;
6789
+ name?: string | undefined;
6790
+ preset?: string | undefined;
6791
+ recipe?: string | undefined;
6792
+ parts?: z.objectInputType<{
6793
+ name: z.ZodString;
6794
+ }, z.ZodUnknown, "strip">[] | undefined;
6795
+ sprite?: string | undefined;
6796
+ }>, {
6797
+ fps?: number | undefined;
6798
+ name?: string | undefined;
6799
+ preset?: string | undefined;
6800
+ recipe?: string | undefined;
6801
+ parts?: z.objectOutputType<{
6802
+ name: z.ZodString;
6803
+ }, z.ZodUnknown, "strip">[] | undefined;
6804
+ sprite?: string | undefined;
6805
+ }, {
6806
+ fps?: number | undefined;
6807
+ name?: string | undefined;
6808
+ preset?: string | undefined;
6809
+ recipe?: string | undefined;
6810
+ parts?: z.objectInputType<{
6811
+ name: z.ZodString;
6812
+ }, z.ZodUnknown, "strip">[] | undefined;
6813
+ sprite?: string | undefined;
6814
+ }>>;
6576
6815
  /** `character` styles, `standard` humanoid bases: this character's proportions, over the style's. */
6577
6816
  proportions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["default", "chibi", "cartoon", "stylized", "realistic_male", "realistic_female", "heroic"]>, z.ZodObject<{
6578
6817
  headSize: z.ZodOptional<z.ZodNumber>;
@@ -6679,6 +6918,16 @@ declare const ManifestSchema: z.ZodObject<{
6679
6918
  detail?: string | undefined;
6680
6919
  enhancePrompt?: boolean | undefined;
6681
6920
  } | undefined;
6921
+ vfx?: {
6922
+ fps?: number | undefined;
6923
+ name?: string | undefined;
6924
+ preset?: string | undefined;
6925
+ recipe?: string | undefined;
6926
+ parts?: z.objectOutputType<{
6927
+ name: z.ZodString;
6928
+ }, z.ZodUnknown, "strip">[] | undefined;
6929
+ sprite?: string | undefined;
6930
+ } | undefined;
6682
6931
  size?: number | undefined;
6683
6932
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
6684
6933
  state?: {
@@ -6800,6 +7049,16 @@ declare const ManifestSchema: z.ZodObject<{
6800
7049
  detail?: string | undefined;
6801
7050
  enhancePrompt?: boolean | undefined;
6802
7051
  } | undefined;
7052
+ vfx?: {
7053
+ fps?: number | undefined;
7054
+ name?: string | undefined;
7055
+ preset?: string | undefined;
7056
+ recipe?: string | undefined;
7057
+ parts?: z.objectInputType<{
7058
+ name: z.ZodString;
7059
+ }, z.ZodUnknown, "strip">[] | undefined;
7060
+ sprite?: string | undefined;
7061
+ } | undefined;
6803
7062
  size?: number | undefined;
6804
7063
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
6805
7064
  state?: {
@@ -6931,6 +7190,16 @@ declare const ManifestSchema: z.ZodObject<{
6931
7190
  detail?: string | undefined;
6932
7191
  enhancePrompt?: boolean | undefined;
6933
7192
  } | undefined;
7193
+ vfx?: {
7194
+ fps?: number | undefined;
7195
+ name?: string | undefined;
7196
+ preset?: string | undefined;
7197
+ recipe?: string | undefined;
7198
+ parts?: z.objectOutputType<{
7199
+ name: z.ZodString;
7200
+ }, z.ZodUnknown, "strip">[] | undefined;
7201
+ sprite?: string | undefined;
7202
+ } | undefined;
6934
7203
  size?: number | undefined;
6935
7204
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
6936
7205
  state?: {
@@ -7052,6 +7321,16 @@ declare const ManifestSchema: z.ZodObject<{
7052
7321
  detail?: string | undefined;
7053
7322
  enhancePrompt?: boolean | undefined;
7054
7323
  } | undefined;
7324
+ vfx?: {
7325
+ fps?: number | undefined;
7326
+ name?: string | undefined;
7327
+ preset?: string | undefined;
7328
+ recipe?: string | undefined;
7329
+ parts?: z.objectInputType<{
7330
+ name: z.ZodString;
7331
+ }, z.ZodUnknown, "strip">[] | undefined;
7332
+ sprite?: string | undefined;
7333
+ } | undefined;
7055
7334
  size?: number | undefined;
7056
7335
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
7057
7336
  state?: {
@@ -7161,10 +7440,11 @@ declare const ManifestSchema: z.ZodObject<{
7161
7440
  }>>;
7162
7441
  }, "strict", z.ZodTypeAny, {
7163
7442
  provider: string;
7443
+ name: string;
7164
7444
  styles: Record<string, {
7165
7445
  outDir: string;
7166
7446
  palette: string[];
7167
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
7447
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
7168
7448
  promptSuffix: string;
7169
7449
  promptPrefix: string;
7170
7450
  styleImages: {
@@ -7245,7 +7525,6 @@ declare const ManifestSchema: z.ZodObject<{
7245
7525
  base?: string | undefined;
7246
7526
  } | undefined;
7247
7527
  }>;
7248
- name: string;
7249
7528
  assets: Record<string, {
7250
7529
  tags: string[];
7251
7530
  sourceByStyle: Record<string, string>;
@@ -7271,6 +7550,16 @@ declare const ManifestSchema: z.ZodObject<{
7271
7550
  detail?: string | undefined;
7272
7551
  enhancePrompt?: boolean | undefined;
7273
7552
  } | undefined;
7553
+ vfx?: {
7554
+ fps?: number | undefined;
7555
+ name?: string | undefined;
7556
+ preset?: string | undefined;
7557
+ recipe?: string | undefined;
7558
+ parts?: z.objectOutputType<{
7559
+ name: z.ZodString;
7560
+ }, z.ZodUnknown, "strip">[] | undefined;
7561
+ sprite?: string | undefined;
7562
+ } | undefined;
7274
7563
  size?: number | undefined;
7275
7564
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
7276
7565
  state?: {
@@ -7376,6 +7665,7 @@ declare const ManifestSchema: z.ZodObject<{
7376
7665
  $schema?: string | undefined;
7377
7666
  history?: number | undefined;
7378
7667
  }, {
7668
+ name: string;
7379
7669
  styles: Record<string, {
7380
7670
  outDir: string;
7381
7671
  provider?: string | undefined;
@@ -7388,7 +7678,7 @@ declare const ManifestSchema: z.ZodObject<{
7388
7678
  shading?: string | undefined;
7389
7679
  detail?: string | undefined;
7390
7680
  enhancePrompt?: boolean | undefined;
7391
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
7681
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
7392
7682
  view?: string | undefined;
7393
7683
  promptSuffix?: string | undefined;
7394
7684
  promptPrefix?: string | undefined;
@@ -7460,7 +7750,6 @@ declare const ManifestSchema: z.ZodObject<{
7460
7750
  tags?: string[] | undefined;
7461
7751
  providerOptions?: Record<string, Record<string, unknown>> | undefined;
7462
7752
  }>;
7463
- name: string;
7464
7753
  assets: Record<string, {
7465
7754
  width?: number | undefined;
7466
7755
  height?: number | undefined;
@@ -7481,6 +7770,16 @@ declare const ManifestSchema: z.ZodObject<{
7481
7770
  detail?: string | undefined;
7482
7771
  enhancePrompt?: boolean | undefined;
7483
7772
  } | undefined;
7773
+ vfx?: {
7774
+ fps?: number | undefined;
7775
+ name?: string | undefined;
7776
+ preset?: string | undefined;
7777
+ recipe?: string | undefined;
7778
+ parts?: z.objectInputType<{
7779
+ name: z.ZodString;
7780
+ }, z.ZodUnknown, "strip">[] | undefined;
7781
+ sprite?: string | undefined;
7782
+ } | undefined;
7484
7783
  size?: number | undefined;
7485
7784
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
7486
7785
  state?: {
@@ -7601,7 +7900,7 @@ declare const ManifestInputSchema: z.ZodObject<{
7601
7900
  styles: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodObject<{
7602
7901
  /** Generation backend for this style. Omit to inherit the manifest default. */
7603
7902
  provider: z.ZodOptional<z.ZodString>;
7604
- generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>;
7903
+ generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>;
7605
7904
  /** Square edge length. The active provider owns its exact limit. */
7606
7905
  size: z.ZodOptional<z.ZodNumber>;
7607
7906
  view: z.ZodOptional<z.ZodString>;
@@ -7972,7 +8271,7 @@ declare const ManifestInputSchema: z.ZodObject<{
7972
8271
  }, "strict", z.ZodTypeAny, {
7973
8272
  outDir: string;
7974
8273
  palette: string[];
7975
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
8274
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
7976
8275
  promptSuffix: string;
7977
8276
  promptPrefix: string;
7978
8277
  styleImages: {
@@ -8064,7 +8363,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8064
8363
  shading?: string | undefined;
8065
8364
  detail?: string | undefined;
8066
8365
  enhancePrompt?: boolean | undefined;
8067
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
8366
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
8068
8367
  view?: string | undefined;
8069
8368
  promptSuffix?: string | undefined;
8070
8369
  promptPrefix?: string | undefined;
@@ -8138,7 +8437,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8138
8437
  }>, {
8139
8438
  outDir: string;
8140
8439
  palette: string[];
8141
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
8440
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
8142
8441
  promptSuffix: string;
8143
8442
  promptPrefix: string;
8144
8443
  styleImages: {
@@ -8230,7 +8529,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8230
8529
  shading?: string | undefined;
8231
8530
  detail?: string | undefined;
8232
8531
  enhancePrompt?: boolean | undefined;
8233
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
8532
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
8234
8533
  view?: string | undefined;
8235
8534
  promptSuffix?: string | undefined;
8236
8535
  promptPrefix?: string | undefined;
@@ -8304,7 +8603,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8304
8603
  }>, {
8305
8604
  outDir: string;
8306
8605
  palette: string[];
8307
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
8606
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
8308
8607
  promptSuffix: string;
8309
8608
  promptPrefix: string;
8310
8609
  styleImages: {
@@ -8396,7 +8695,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8396
8695
  shading?: string | undefined;
8397
8696
  detail?: string | undefined;
8398
8697
  enhancePrompt?: boolean | undefined;
8399
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
8698
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
8400
8699
  view?: string | undefined;
8401
8700
  promptSuffix?: string | undefined;
8402
8701
  promptPrefix?: string | undefined;
@@ -8469,7 +8768,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8469
8768
  providerOptions?: Record<string, Record<string, unknown>> | undefined;
8470
8769
  }>, z.ZodObject<{
8471
8770
  provider: z.ZodOptional<z.ZodOptional<z.ZodString>>;
8472
- generator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>>;
8771
+ generator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>>;
8473
8772
  size: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
8474
8773
  view: z.ZodOptional<z.ZodOptional<z.ZodString>>;
8475
8774
  promptSuffix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
@@ -8625,7 +8924,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8625
8924
  shading?: string | undefined;
8626
8925
  detail?: string | undefined;
8627
8926
  enhancePrompt?: boolean | undefined;
8628
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
8927
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
8629
8928
  view?: string | undefined;
8630
8929
  promptSuffix?: string | undefined;
8631
8930
  promptPrefix?: string | undefined;
@@ -8709,7 +9008,7 @@ declare const ManifestInputSchema: z.ZodObject<{
8709
9008
  shading?: string | undefined;
8710
9009
  detail?: string | undefined;
8711
9010
  enhancePrompt?: boolean | undefined;
8712
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
9011
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
8713
9012
  view?: string | undefined;
8714
9013
  promptSuffix?: string | undefined;
8715
9014
  promptPrefix?: string | undefined;
@@ -9346,6 +9645,57 @@ declare const ManifestInputSchema: z.ZodObject<{
9346
9645
  mask: string;
9347
9646
  } | undefined;
9348
9647
  }>>;
9648
+ /** `vfx` styles only: the effect to render. See `AssetVfxSchema`. */
9649
+ vfx: z.ZodOptional<z.ZodEffects<z.ZodObject<{
9650
+ preset: z.ZodOptional<z.ZodString>;
9651
+ recipe: z.ZodOptional<z.ZodString>;
9652
+ parts: z.ZodOptional<z.ZodArray<z.ZodObject<{
9653
+ name: z.ZodString;
9654
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
9655
+ name: z.ZodString;
9656
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
9657
+ name: z.ZodString;
9658
+ }, z.ZodUnknown, "strip">>, "many">>;
9659
+ sprite: z.ZodOptional<z.ZodString>;
9660
+ fps: z.ZodOptional<z.ZodNumber>;
9661
+ name: z.ZodOptional<z.ZodString>;
9662
+ }, "strict", z.ZodTypeAny, {
9663
+ fps?: number | undefined;
9664
+ name?: string | undefined;
9665
+ preset?: string | undefined;
9666
+ recipe?: string | undefined;
9667
+ parts?: z.objectOutputType<{
9668
+ name: z.ZodString;
9669
+ }, z.ZodUnknown, "strip">[] | undefined;
9670
+ sprite?: string | undefined;
9671
+ }, {
9672
+ fps?: number | undefined;
9673
+ name?: string | undefined;
9674
+ preset?: string | undefined;
9675
+ recipe?: string | undefined;
9676
+ parts?: z.objectInputType<{
9677
+ name: z.ZodString;
9678
+ }, z.ZodUnknown, "strip">[] | undefined;
9679
+ sprite?: string | undefined;
9680
+ }>, {
9681
+ fps?: number | undefined;
9682
+ name?: string | undefined;
9683
+ preset?: string | undefined;
9684
+ recipe?: string | undefined;
9685
+ parts?: z.objectOutputType<{
9686
+ name: z.ZodString;
9687
+ }, z.ZodUnknown, "strip">[] | undefined;
9688
+ sprite?: string | undefined;
9689
+ }, {
9690
+ fps?: number | undefined;
9691
+ name?: string | undefined;
9692
+ preset?: string | undefined;
9693
+ recipe?: string | undefined;
9694
+ parts?: z.objectInputType<{
9695
+ name: z.ZodString;
9696
+ }, z.ZodUnknown, "strip">[] | undefined;
9697
+ sprite?: string | undefined;
9698
+ }>>;
9349
9699
  /** `character` styles, `standard` humanoid bases: this character's proportions, over the style's. */
9350
9700
  proportions: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["default", "chibi", "cartoon", "stylized", "realistic_male", "realistic_female", "heroic"]>, z.ZodObject<{
9351
9701
  headSize: z.ZodOptional<z.ZodNumber>;
@@ -9452,6 +9802,16 @@ declare const ManifestInputSchema: z.ZodObject<{
9452
9802
  detail?: string | undefined;
9453
9803
  enhancePrompt?: boolean | undefined;
9454
9804
  } | undefined;
9805
+ vfx?: {
9806
+ fps?: number | undefined;
9807
+ name?: string | undefined;
9808
+ preset?: string | undefined;
9809
+ recipe?: string | undefined;
9810
+ parts?: z.objectOutputType<{
9811
+ name: z.ZodString;
9812
+ }, z.ZodUnknown, "strip">[] | undefined;
9813
+ sprite?: string | undefined;
9814
+ } | undefined;
9455
9815
  size?: number | undefined;
9456
9816
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
9457
9817
  state?: {
@@ -9573,6 +9933,16 @@ declare const ManifestInputSchema: z.ZodObject<{
9573
9933
  detail?: string | undefined;
9574
9934
  enhancePrompt?: boolean | undefined;
9575
9935
  } | undefined;
9936
+ vfx?: {
9937
+ fps?: number | undefined;
9938
+ name?: string | undefined;
9939
+ preset?: string | undefined;
9940
+ recipe?: string | undefined;
9941
+ parts?: z.objectInputType<{
9942
+ name: z.ZodString;
9943
+ }, z.ZodUnknown, "strip">[] | undefined;
9944
+ sprite?: string | undefined;
9945
+ } | undefined;
9576
9946
  size?: number | undefined;
9577
9947
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
9578
9948
  state?: {
@@ -9704,6 +10074,16 @@ declare const ManifestInputSchema: z.ZodObject<{
9704
10074
  detail?: string | undefined;
9705
10075
  enhancePrompt?: boolean | undefined;
9706
10076
  } | undefined;
10077
+ vfx?: {
10078
+ fps?: number | undefined;
10079
+ name?: string | undefined;
10080
+ preset?: string | undefined;
10081
+ recipe?: string | undefined;
10082
+ parts?: z.objectOutputType<{
10083
+ name: z.ZodString;
10084
+ }, z.ZodUnknown, "strip">[] | undefined;
10085
+ sprite?: string | undefined;
10086
+ } | undefined;
9707
10087
  size?: number | undefined;
9708
10088
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
9709
10089
  state?: {
@@ -9825,6 +10205,16 @@ declare const ManifestInputSchema: z.ZodObject<{
9825
10205
  detail?: string | undefined;
9826
10206
  enhancePrompt?: boolean | undefined;
9827
10207
  } | undefined;
10208
+ vfx?: {
10209
+ fps?: number | undefined;
10210
+ name?: string | undefined;
10211
+ preset?: string | undefined;
10212
+ recipe?: string | undefined;
10213
+ parts?: z.objectInputType<{
10214
+ name: z.ZodString;
10215
+ }, z.ZodUnknown, "strip">[] | undefined;
10216
+ sprite?: string | undefined;
10217
+ } | undefined;
9828
10218
  size?: number | undefined;
9829
10219
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
9830
10220
  state?: {
@@ -9934,10 +10324,11 @@ declare const ManifestInputSchema: z.ZodObject<{
9934
10324
  }>>;
9935
10325
  }, "strict", z.ZodTypeAny, {
9936
10326
  provider: string;
10327
+ name: string;
9937
10328
  styles: Record<string, {
9938
10329
  outDir: string;
9939
10330
  palette: string[];
9940
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
10331
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
9941
10332
  promptSuffix: string;
9942
10333
  promptPrefix: string;
9943
10334
  styleImages: {
@@ -10030,7 +10421,7 @@ declare const ManifestInputSchema: z.ZodObject<{
10030
10421
  shading?: string | undefined;
10031
10422
  detail?: string | undefined;
10032
10423
  enhancePrompt?: boolean | undefined;
10033
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
10424
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
10034
10425
  view?: string | undefined;
10035
10426
  promptSuffix?: string | undefined;
10036
10427
  promptPrefix?: string | undefined;
@@ -10102,7 +10493,6 @@ declare const ManifestInputSchema: z.ZodObject<{
10102
10493
  tags?: string[] | undefined;
10103
10494
  providerOptions?: Record<string, Record<string, unknown>> | undefined;
10104
10495
  }>;
10105
- name: string;
10106
10496
  assets: Record<string, {
10107
10497
  tags: string[];
10108
10498
  sourceByStyle: Record<string, string>;
@@ -10128,6 +10518,16 @@ declare const ManifestInputSchema: z.ZodObject<{
10128
10518
  detail?: string | undefined;
10129
10519
  enhancePrompt?: boolean | undefined;
10130
10520
  } | undefined;
10521
+ vfx?: {
10522
+ fps?: number | undefined;
10523
+ name?: string | undefined;
10524
+ preset?: string | undefined;
10525
+ recipe?: string | undefined;
10526
+ parts?: z.objectOutputType<{
10527
+ name: z.ZodString;
10528
+ }, z.ZodUnknown, "strip">[] | undefined;
10529
+ sprite?: string | undefined;
10530
+ } | undefined;
10131
10531
  size?: number | undefined;
10132
10532
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
10133
10533
  state?: {
@@ -10233,6 +10633,7 @@ declare const ManifestInputSchema: z.ZodObject<{
10233
10633
  $schema?: string | undefined;
10234
10634
  history?: number | undefined;
10235
10635
  }, {
10636
+ name: string;
10236
10637
  styles: Record<string, {
10237
10638
  outDir: string;
10238
10639
  provider?: string | undefined;
@@ -10245,7 +10646,7 @@ declare const ManifestInputSchema: z.ZodObject<{
10245
10646
  shading?: string | undefined;
10246
10647
  detail?: string | undefined;
10247
10648
  enhancePrompt?: boolean | undefined;
10248
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
10649
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
10249
10650
  view?: string | undefined;
10250
10651
  promptSuffix?: string | undefined;
10251
10652
  promptPrefix?: string | undefined;
@@ -10329,7 +10730,7 @@ declare const ManifestInputSchema: z.ZodObject<{
10329
10730
  shading?: string | undefined;
10330
10731
  detail?: string | undefined;
10331
10732
  enhancePrompt?: boolean | undefined;
10332
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
10733
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
10333
10734
  view?: string | undefined;
10334
10735
  promptSuffix?: string | undefined;
10335
10736
  promptPrefix?: string | undefined;
@@ -10401,7 +10802,6 @@ declare const ManifestInputSchema: z.ZodObject<{
10401
10802
  tags?: string[] | undefined;
10402
10803
  providerOptions?: Record<string, Record<string, unknown>> | undefined;
10403
10804
  }>;
10404
- name: string;
10405
10805
  assets: Record<string, {
10406
10806
  width?: number | undefined;
10407
10807
  height?: number | undefined;
@@ -10422,6 +10822,16 @@ declare const ManifestInputSchema: z.ZodObject<{
10422
10822
  detail?: string | undefined;
10423
10823
  enhancePrompt?: boolean | undefined;
10424
10824
  } | undefined;
10825
+ vfx?: {
10826
+ fps?: number | undefined;
10827
+ name?: string | undefined;
10828
+ preset?: string | undefined;
10829
+ recipe?: string | undefined;
10830
+ parts?: z.objectInputType<{
10831
+ name: z.ZodString;
10832
+ }, z.ZodUnknown, "strip">[] | undefined;
10833
+ sprite?: string | undefined;
10834
+ } | undefined;
10425
10835
  size?: number | undefined;
10426
10836
  reference?: string | Partial<Record<"south" | "south-east" | "east" | "north-east" | "north" | "north-west" | "west" | "south-west", string>> | undefined;
10427
10837
  state?: {
@@ -10579,7 +10989,7 @@ type Postprocess = z.infer<typeof PostprocessSchema>;
10579
10989
  */
10580
10990
  declare const LockHistoryEntrySchema: z.ZodObject<{
10581
10991
  specHash: z.ZodString;
10582
- generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>;
10992
+ generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>;
10583
10993
  tileFeature: z.ZodDefault<z.ZodNullable<z.ZodString>>;
10584
10994
  prompt: z.ZodString;
10585
10995
  width: z.ZodNumber;
@@ -10676,7 +11086,7 @@ declare const LockHistoryEntrySchema: z.ZodObject<{
10676
11086
  width: number;
10677
11087
  height: number;
10678
11088
  provider: string;
10679
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11089
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
10680
11090
  tileFeature: string | null;
10681
11091
  prompt: string;
10682
11092
  specHash: string;
@@ -10716,7 +11126,7 @@ declare const LockHistoryEntrySchema: z.ZodObject<{
10716
11126
  }, {
10717
11127
  width: number;
10718
11128
  height: number;
10719
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11129
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
10720
11130
  prompt: string;
10721
11131
  specHash: string;
10722
11132
  retiredAt: string;
@@ -10760,7 +11170,7 @@ declare const LockEntrySchema: z.ZodObject<{
10760
11170
  assetId: z.ZodString;
10761
11171
  /** sha256 of the resolved spec. Changing a prompt/size/style invalidates it. */
10762
11172
  specHash: z.ZodString;
10763
- generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>;
11173
+ generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>;
10764
11174
  /** Connectable tiles must remain multi-output even when polling is resumed later. */
10765
11175
  tileFeature: z.ZodDefault<z.ZodNullable<z.ZodString>>;
10766
11176
  /** The resolved prompt actually sent, kept for auditing and for adopt matching. */
@@ -10997,7 +11407,7 @@ declare const LockEntrySchema: z.ZodObject<{
10997
11407
  /** Generations this entry replaced, newest first; see LockHistoryEntrySchema. */
10998
11408
  history: z.ZodOptional<z.ZodArray<z.ZodObject<{
10999
11409
  specHash: z.ZodString;
11000
- generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>;
11410
+ generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>;
11001
11411
  tileFeature: z.ZodDefault<z.ZodNullable<z.ZodString>>;
11002
11412
  prompt: z.ZodString;
11003
11413
  width: z.ZodNumber;
@@ -11094,7 +11504,7 @@ declare const LockEntrySchema: z.ZodObject<{
11094
11504
  width: number;
11095
11505
  height: number;
11096
11506
  provider: string;
11097
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11507
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11098
11508
  tileFeature: string | null;
11099
11509
  prompt: string;
11100
11510
  specHash: string;
@@ -11134,7 +11544,7 @@ declare const LockEntrySchema: z.ZodObject<{
11134
11544
  }, {
11135
11545
  width: number;
11136
11546
  height: number;
11137
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11547
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11138
11548
  prompt: string;
11139
11549
  specHash: string;
11140
11550
  retiredAt: string;
@@ -11212,7 +11622,7 @@ declare const LockEntrySchema: z.ZodObject<{
11212
11622
  sourceSha256: string;
11213
11623
  referenceSha256: string;
11214
11624
  } | null;
11215
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11625
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11216
11626
  tileFeature: string | null;
11217
11627
  prompt: string;
11218
11628
  revision: {
@@ -11283,7 +11693,7 @@ declare const LockEntrySchema: z.ZodObject<{
11283
11693
  width: number;
11284
11694
  height: number;
11285
11695
  provider: string;
11286
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11696
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11287
11697
  tileFeature: string | null;
11288
11698
  prompt: string;
11289
11699
  specHash: string;
@@ -11338,7 +11748,7 @@ declare const LockEntrySchema: z.ZodObject<{
11338
11748
  }, {
11339
11749
  width: number;
11340
11750
  height: number;
11341
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11751
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11342
11752
  prompt: string;
11343
11753
  specHash: string;
11344
11754
  styleId: string;
@@ -11388,7 +11798,7 @@ declare const LockEntrySchema: z.ZodObject<{
11388
11798
  history?: {
11389
11799
  width: number;
11390
11800
  height: number;
11391
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
11801
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11392
11802
  prompt: string;
11393
11803
  specHash: string;
11394
11804
  retiredAt: string;
@@ -11476,7 +11886,7 @@ declare const LockSchema: z.ZodObject<{
11476
11886
  assetId: z.ZodString;
11477
11887
  /** sha256 of the resolved spec. Changing a prompt/size/style invalidates it. */
11478
11888
  specHash: z.ZodString;
11479
- generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>;
11889
+ generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>;
11480
11890
  /** Connectable tiles must remain multi-output even when polling is resumed later. */
11481
11891
  tileFeature: z.ZodDefault<z.ZodNullable<z.ZodString>>;
11482
11892
  /** The resolved prompt actually sent, kept for auditing and for adopt matching. */
@@ -11713,7 +12123,7 @@ declare const LockSchema: z.ZodObject<{
11713
12123
  /** Generations this entry replaced, newest first; see LockHistoryEntrySchema. */
11714
12124
  history: z.ZodOptional<z.ZodArray<z.ZodObject<{
11715
12125
  specHash: z.ZodString;
11716
- generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>;
12126
+ generator: z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>;
11717
12127
  tileFeature: z.ZodDefault<z.ZodNullable<z.ZodString>>;
11718
12128
  prompt: z.ZodString;
11719
12129
  width: z.ZodNumber;
@@ -11810,7 +12220,7 @@ declare const LockSchema: z.ZodObject<{
11810
12220
  width: number;
11811
12221
  height: number;
11812
12222
  provider: string;
11813
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12223
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11814
12224
  tileFeature: string | null;
11815
12225
  prompt: string;
11816
12226
  specHash: string;
@@ -11850,7 +12260,7 @@ declare const LockSchema: z.ZodObject<{
11850
12260
  }, {
11851
12261
  width: number;
11852
12262
  height: number;
11853
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12263
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11854
12264
  prompt: string;
11855
12265
  specHash: string;
11856
12266
  retiredAt: string;
@@ -11928,7 +12338,7 @@ declare const LockSchema: z.ZodObject<{
11928
12338
  sourceSha256: string;
11929
12339
  referenceSha256: string;
11930
12340
  } | null;
11931
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12341
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
11932
12342
  tileFeature: string | null;
11933
12343
  prompt: string;
11934
12344
  revision: {
@@ -11999,7 +12409,7 @@ declare const LockSchema: z.ZodObject<{
11999
12409
  width: number;
12000
12410
  height: number;
12001
12411
  provider: string;
12002
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12412
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
12003
12413
  tileFeature: string | null;
12004
12414
  prompt: string;
12005
12415
  specHash: string;
@@ -12054,7 +12464,7 @@ declare const LockSchema: z.ZodObject<{
12054
12464
  }, {
12055
12465
  width: number;
12056
12466
  height: number;
12057
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12467
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
12058
12468
  prompt: string;
12059
12469
  specHash: string;
12060
12470
  styleId: string;
@@ -12104,7 +12514,7 @@ declare const LockSchema: z.ZodObject<{
12104
12514
  history?: {
12105
12515
  width: number;
12106
12516
  height: number;
12107
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12517
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
12108
12518
  prompt: string;
12109
12519
  specHash: string;
12110
12520
  retiredAt: string;
@@ -12196,7 +12606,7 @@ declare const LockSchema: z.ZodObject<{
12196
12606
  sourceSha256: string;
12197
12607
  referenceSha256: string;
12198
12608
  } | null;
12199
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12609
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
12200
12610
  tileFeature: string | null;
12201
12611
  prompt: string;
12202
12612
  revision: {
@@ -12267,7 +12677,7 @@ declare const LockSchema: z.ZodObject<{
12267
12677
  width: number;
12268
12678
  height: number;
12269
12679
  provider: string;
12270
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12680
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
12271
12681
  tileFeature: string | null;
12272
12682
  prompt: string;
12273
12683
  specHash: string;
@@ -12325,7 +12735,7 @@ declare const LockSchema: z.ZodObject<{
12325
12735
  entries: Record<string, {
12326
12736
  width: number;
12327
12737
  height: number;
12328
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12738
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
12329
12739
  prompt: string;
12330
12740
  specHash: string;
12331
12741
  styleId: string;
@@ -12375,7 +12785,7 @@ declare const LockSchema: z.ZodObject<{
12375
12785
  history?: {
12376
12786
  width: number;
12377
12787
  height: number;
12378
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
12788
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
12379
12789
  prompt: string;
12380
12790
  specHash: string;
12381
12791
  retiredAt: string;
@@ -12496,6 +12906,36 @@ interface ResolvedMapScene {
12496
12906
  height: number | null;
12497
12907
  };
12498
12908
  }
12909
+ /**
12910
+ * A `vfx` effect as resolved for hashing and submission. The recipe is
12911
+ * read and content-hashed; a local sprite carries its content hash, null
12912
+ * until the file exists (it may be another asset's output), the way a
12913
+ * scene's does.
12914
+ */
12915
+ interface ResolvedVfx {
12916
+ preset?: string;
12917
+ recipe?: {
12918
+ file: string;
12919
+ sha256: string;
12920
+ recipe: Record<string, unknown>;
12921
+ };
12922
+ parts?: Array<{
12923
+ name: string;
12924
+ [option: string]: unknown;
12925
+ }>;
12926
+ sprite?: {
12927
+ file: string;
12928
+ sha256: string | null;
12929
+ width: number | null;
12930
+ height: number | null;
12931
+ format: "png" | "jpeg" | null;
12932
+ } | {
12933
+ reference: string;
12934
+ };
12935
+ fps?: number;
12936
+ /** The name saved to My effects; not part of identity. */
12937
+ name: string;
12938
+ }
12499
12939
  interface ResolvedMirror {
12500
12940
  sourceAssetId: string;
12501
12941
  sourceSpec: ResolvedSpec;
@@ -12554,6 +12994,8 @@ interface ResolvedSpec {
12554
12994
  batch?: ResolvedBatch;
12555
12995
  /** `map` only: the scene this object is drawn into, in that scene's style. */
12556
12996
  scene?: ResolvedMapScene;
12997
+ /** `vfx` only: the effect to render. */
12998
+ vfx?: ResolvedVfx;
12557
12999
  /** Provider-side id declared for adoption; excluded from the spec hash. */
12558
13000
  remoteId?: string;
12559
13001
  /**
@@ -13592,7 +14034,8 @@ declare class PixelLabClient {
13592
14034
  * A full-body sprite in, a bust portrait out (or the reverse, unused
13593
14035
  * today). Job-based like a state or `1dir`, not the couple-generations
13594
14036
  * "conversion" the name suggests: the smallest `resultSize` (16px) billed
13595
- * 20 generations live (docs/ENDPOINTS.md, "Characters, measured").
14037
+ * 20 generations live (docs/ENDPOINTS.md, "Characters, measured"), the
14038
+ * Pro floor before PixelLab's October 2026 cut put it at 10.
13596
14039
  */
13597
14040
  createPortraitCharacterPro(args: {
13598
14041
  direction: "portrait_to_character" | "character_to_portrait";
@@ -13630,7 +14073,8 @@ declare class PixelLabClient {
13630
14073
  * everything else here, but the completed job returns the result frames
13631
14074
  * inline as base64 (`last_response.quantized_images`), not as storage
13632
14075
  * URLs — the one PixelLab character tool that works this way. A live
13633
- * 2-frame, 92x92 job billed 20 generations (docs/ENDPOINTS.md).
14076
+ * 2-frame, 92x92 job billed 20 generations (docs/ENDPOINTS.md), before
14077
+ * PixelLab's October 2026 Pro cut halved that floor to 10.
13634
14078
  */
13635
14079
  transferOutfitV2(args: {
13636
14080
  referenceImage: Base64Image & {
@@ -13672,7 +14116,9 @@ declare class PixelLabClient {
13672
14116
  * far higher than this tiering assumes; 352x352 (123904px²), 384x384
13673
14117
  * (147456px²), and 512x512 (262144px², the tiering ceiling) all billed
13674
14118
  * 40. Both breakpoints are now tightly bracketed: 20->25 in
13675
- * (65536px², 82944px²], 25->40 in (102400px², 123904px²].
14119
+ * (65536px², 82944px²], 25->40 in (102400px², 123904px²]. Those prices
14120
+ * predate PixelLab's October 2026 Pro cut to 10/15/25; `proTierCost`
14121
+ * keeps the breakpoints with the new prices.
13676
14122
  * `editImagesV2` below returns the same fields under `images`, plural
13677
14123
  * and array-wrapped, not `image` — do not assume the two endpoints share
13678
14124
  * one response shape. See docs/ENDPOINTS.md and docs/REVISIONS.md for
@@ -13718,8 +14164,9 @@ declare class PixelLabClient {
13718
14164
  status: string;
13719
14165
  }>;
13720
14166
  /**
13721
- * PixelLab's Pro image tier, `/generate-image-v2`: a flat 40 generations
13722
- * (docs/ENDPOINTS.md, "Single-image generators, measured") for real style
14167
+ * PixelLab's Pro image tier, `/generate-image-v2`: 10 to 25 generations by
14168
+ * canvas since PixelLab's October 2026 Pro cut, a flat 40 before
14169
+ * (docs/ENDPOINTS.md, "Single-image generators, measured"), for real style
13723
14170
  * transfer and non-square canvases up to 792x688, where `pixflux` is
13724
14171
  * limited to 400x400 and no style reference. Like a revision, this hands
13725
14172
  * back a plain background job with no resource of its own; unlike a
@@ -13788,6 +14235,19 @@ declare class PixelLabClient {
13788
14235
  noBackground?: boolean;
13789
14236
  seed?: number;
13790
14237
  }): Promise<z.output<typeof ProFlashImageSubmitSchema>>;
14238
+ /**
14239
+ * `/image-to-pixelart-pro-flash`: a photo, painting, or render in, pixel
14240
+ * art out, with no size to pass: PixelLab detects the native pixel scale
14241
+ * and picks the output size (a 256x256 render came back 108x109). The
14242
+ * result is opaque, on a near-white background. A flat 6 generations, billed exactly that live
14243
+ * in October 2026. Sources over 2048px on the longer side are scaled down
14244
+ * upstream. The finished job carries the image at `last_response.images[0]`.
14245
+ */
14246
+ imageToPixelartProFlash(args: {
14247
+ image: Base64Image;
14248
+ description?: string;
14249
+ seed?: number;
14250
+ }): Promise<z.output<typeof ProFlashImageSubmitSchema>>;
13791
14251
  /**
13792
14252
  * `/generate-ui-v2` ("Generate UI (Pro)"): one UI element (a button, a
13793
14253
  * health bar, an inventory slot, a dialogue box) from a description,
@@ -14097,10 +14557,59 @@ declare function clientFromEnv(): PixelLabClient;
14097
14557
  declare function openExternal(target: string, command?: string[]): string;
14098
14558
  declare function defaultOpenCommand(platform?: NodeJS.Platform): string[];
14099
14559
 
14560
+ declare const PIXELLAB_MCP_URL = "https://api.pixellab.ai/mcp";
14561
+ interface McpImage {
14562
+ mimeType: string;
14563
+ /** Base64, as the server sends it. */
14564
+ data: string;
14565
+ }
14566
+ interface McpToolResult {
14567
+ /** Every text block of the reply, joined by newlines. */
14568
+ text: string;
14569
+ images: McpImage[];
14570
+ }
14571
+ /** The JSON-RPC message in a reply body, whether it came as plain JSON or as an SSE stream. */
14572
+ declare function parseMcpBody(body: string): Record<string, unknown>;
14573
+ /**
14574
+ * A tool reply asking to be retried shortly. The VFX workbench answers
14575
+ * "the pixel tools are busy. retry in a few seconds." while another render
14576
+ * on the account is still running (seen live with two effects in one `gen`).
14577
+ */
14578
+ declare function isBusyReply(text: string): boolean;
14579
+ declare class PixelLabMcpClient {
14580
+ private readonly apiKey;
14581
+ private readonly http;
14582
+ private readonly url;
14583
+ private readonly busyRetries;
14584
+ private readonly sleep;
14585
+ private nextId;
14586
+ constructor(apiKey: string, opts?: {
14587
+ url?: string;
14588
+ timeoutMs?: number;
14589
+ fetch?: typeof fetch;
14590
+ busyRetries?: number;
14591
+ sleep?: (ms: number) => Promise<void>;
14592
+ });
14593
+ /**
14594
+ * Call one tool and return its text and images. A tool-level error
14595
+ * (`isError`) throws with the tool's own message, after a few spaced
14596
+ * retries when the tool only said it was busy.
14597
+ */
14598
+ callTool(name: string, args: Record<string, unknown>): Promise<McpToolResult>;
14599
+ private callOnce;
14600
+ }
14601
+ declare function mcpClientFromEnv(): PixelLabMcpClient;
14602
+
14100
14603
  declare class PixelLabProvider implements Provider {
14101
14604
  private readonly client;
14605
+ private readonly mcp?;
14102
14606
  readonly id = "pixellab";
14103
- constructor(client: PixelLabClient);
14607
+ /**
14608
+ * `mcp` reaches the tools PixelLab offers only over MCP (the VFX
14609
+ * workbench). Offline and download-only providers have none, and a `vfx`
14610
+ * submission through one says so.
14611
+ */
14612
+ constructor(client: PixelLabClient, mcp?: Pick<PixelLabMcpClient, "callTool"> | undefined);
14104
14613
  static fromEnv(): PixelLabProvider;
14105
14614
  /** Public storage URLs and the local content cache do not require API auth. */
14106
14615
  static forDownloads(): PixelLabProvider;
@@ -14239,6 +14748,21 @@ declare class PixelLabProvider implements Provider {
14239
14748
  * background job to ask afterwards the way `billedForJob` does for async
14240
14749
  * work.
14241
14750
  */
14751
+ /**
14752
+ * Render a `vfx` asset with the VFX workbench, which is synchronous and
14753
+ * free. The frames are cut from the exported sheet and parked in the
14754
+ * cache like pixflux's bytes; the export's download folder is recorded so
14755
+ * `poll` can cut them again if the cache is cleared.
14756
+ *
14757
+ * A regeneration exports over the effect this asset rendered last time, so
14758
+ * My effects keeps one entry per asset, unless that effect has changed on
14759
+ * pixellab.ai since (someone moved its sliders) or is gone. Then a new
14760
+ * effect is saved and the edited one is left alone.
14761
+ */
14762
+ private submitVfx;
14763
+ /** Cut an export's sheet into frames, with a sidecar `poll` reads without any lock metadata. */
14764
+ private cacheVfxFrames;
14765
+ private pollVfx;
14242
14766
  private pollCachedRevision;
14243
14767
  /**
14244
14768
  * `animate`/`animate-pixminimax` revisions: a plain background job, like
@@ -14742,6 +15266,14 @@ interface LoadedManifest {
14742
15266
  loopFamilies?: Record<string, string[]>;
14743
15267
  }
14744
15268
  declare function loadManifest(manifestPath: string): Promise<LoadedManifest>;
15269
+ /**
15270
+ * Whether a style renders an asset. An asset that names its styles is in
15271
+ * exactly those. One that names none joins every style of its own kind: a
15272
+ * `vfx` style takes the assets that declare an effect, every other style the
15273
+ * assets that do not, so a plain prompt never lands in an effects style and
15274
+ * an effect never lands in an image style.
15275
+ */
15276
+ declare function assetInStyle(asset: Pick<Asset, "styles" | "vfx">, styleId: string, style: Pick<Style, "generator"> | undefined): boolean;
14745
15277
  /** The asset this one is generated from, whichever shape declares it. */
14746
15278
  declare function parentAssetId(asset: Asset | undefined): string | undefined;
14747
15279
  /**
@@ -15029,6 +15561,11 @@ declare function resolveSpecOutputs(spec: ResolvedSpec, lock: Lock | undefined,
15029
15561
  * entry is not a frame set or recorded no rate.
15030
15562
  */
15031
15563
  declare function frameSetFps(entry: Pick<LockEntry, "provider" | "providerMetadata">): number | null;
15564
+ /**
15565
+ * False when a frame-set entry recorded that it plays once (a one-shot
15566
+ * effect); null when it recorded nothing, which every loop so far means.
15567
+ */
15568
+ declare function frameSetLoop(entry: Pick<LockEntry, "provider" | "providerMetadata">): boolean | null;
15032
15569
 
15033
15570
  interface ArtifactFile {
15034
15571
  path: string;
@@ -15146,7 +15683,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
15146
15683
  styleId: z.ZodString;
15147
15684
  style: z.ZodEffects<z.ZodEffects<z.ZodObject<{
15148
15685
  provider: z.ZodOptional<z.ZodString>;
15149
- generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash"]>>;
15686
+ generator: z.ZodDefault<z.ZodEnum<["1dir", "map", "pixflux", "tiles", "animation", "frames", "character", "terrain", "imagePro", "isometricTile", "objectPro", "uiAsset", "uiElement", "imageProFlash", "vfx"]>>;
15150
15687
  size: z.ZodOptional<z.ZodNumber>;
15151
15688
  view: z.ZodOptional<z.ZodString>;
15152
15689
  promptSuffix: z.ZodDefault<z.ZodString>;
@@ -15298,7 +15835,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
15298
15835
  }, "strict", z.ZodTypeAny, {
15299
15836
  outDir: string;
15300
15837
  palette: string[];
15301
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
15838
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
15302
15839
  promptSuffix: string;
15303
15840
  promptPrefix: string;
15304
15841
  styleImages: {
@@ -15390,7 +15927,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
15390
15927
  shading?: string | undefined;
15391
15928
  detail?: string | undefined;
15392
15929
  enhancePrompt?: boolean | undefined;
15393
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
15930
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
15394
15931
  view?: string | undefined;
15395
15932
  promptSuffix?: string | undefined;
15396
15933
  promptPrefix?: string | undefined;
@@ -15464,7 +16001,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
15464
16001
  }>, {
15465
16002
  outDir: string;
15466
16003
  palette: string[];
15467
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
16004
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
15468
16005
  promptSuffix: string;
15469
16006
  promptPrefix: string;
15470
16007
  styleImages: {
@@ -15556,7 +16093,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
15556
16093
  shading?: string | undefined;
15557
16094
  detail?: string | undefined;
15558
16095
  enhancePrompt?: boolean | undefined;
15559
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
16096
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
15560
16097
  view?: string | undefined;
15561
16098
  promptSuffix?: string | undefined;
15562
16099
  promptPrefix?: string | undefined;
@@ -15630,7 +16167,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
15630
16167
  }>, {
15631
16168
  outDir: string;
15632
16169
  palette: string[];
15633
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
16170
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
15634
16171
  promptSuffix: string;
15635
16172
  promptPrefix: string;
15636
16173
  styleImages: {
@@ -15722,7 +16259,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
15722
16259
  shading?: string | undefined;
15723
16260
  detail?: string | undefined;
15724
16261
  enhancePrompt?: boolean | undefined;
15725
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
16262
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
15726
16263
  view?: string | undefined;
15727
16264
  promptSuffix?: string | undefined;
15728
16265
  promptPrefix?: string | undefined;
@@ -16059,6 +16596,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16059
16596
  checks: z.ZodArray<z.ZodEnum<["prompt-coverage", "native-grid", "final-palette", "alpha-edge", "human-1x"]>, "many">;
16060
16597
  notes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
16061
16598
  }, "strict", z.ZodTypeAny, {
16599
+ notes: string[];
16062
16600
  stage: "composition-source" | "production-candidate";
16063
16601
  workingCanvas: {
16064
16602
  width: number;
@@ -16074,7 +16612,6 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16074
16612
  };
16075
16613
  background: "opaque" | "transparent" | "full-bleed";
16076
16614
  checks: ("prompt-coverage" | "native-grid" | "final-palette" | "alpha-edge" | "human-1x")[];
16077
- notes: string[];
16078
16615
  }, {
16079
16616
  stage: "composition-source" | "production-candidate";
16080
16617
  workingCanvas: {
@@ -16108,6 +16645,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16108
16645
  provider: string;
16109
16646
  id: string;
16110
16647
  quality: {
16648
+ notes: string[];
16111
16649
  stage: "composition-source" | "production-candidate";
16112
16650
  workingCanvas: {
16113
16651
  width: number;
@@ -16123,7 +16661,6 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16123
16661
  };
16124
16662
  background: "opaque" | "transparent" | "full-bleed";
16125
16663
  checks: ("prompt-coverage" | "native-grid" | "final-palette" | "alpha-edge" | "human-1x")[];
16126
- notes: string[];
16127
16664
  };
16128
16665
  styleId: string;
16129
16666
  version: string;
@@ -16147,7 +16684,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16147
16684
  style: {
16148
16685
  outDir: string;
16149
16686
  palette: string[];
16150
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
16687
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
16151
16688
  promptSuffix: string;
16152
16689
  promptPrefix: string;
16153
16690
  styleImages: {
@@ -16310,7 +16847,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16310
16847
  shading?: string | undefined;
16311
16848
  detail?: string | undefined;
16312
16849
  enhancePrompt?: boolean | undefined;
16313
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
16850
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
16314
16851
  view?: string | undefined;
16315
16852
  promptSuffix?: string | undefined;
16316
16853
  promptPrefix?: string | undefined;
@@ -16383,6 +16920,11 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16383
16920
  providerOptions?: Record<string, Record<string, unknown>> | undefined;
16384
16921
  };
16385
16922
  $schema?: string | undefined;
16923
+ files?: {
16924
+ path: string;
16925
+ sha256: string;
16926
+ role: "reference" | "workflow";
16927
+ }[] | undefined;
16386
16928
  workflow?: {
16387
16929
  path: string;
16388
16930
  outputNodeId: string;
@@ -16422,11 +16964,6 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16422
16964
  } | undefined;
16423
16965
  };
16424
16966
  } | undefined;
16425
- files?: {
16426
- path: string;
16427
- sha256: string;
16428
- role: "reference" | "workflow";
16429
- }[] | undefined;
16430
16967
  models?: {
16431
16968
  path: string;
16432
16969
  source: string;
@@ -16438,6 +16975,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16438
16975
  provider: string;
16439
16976
  id: string;
16440
16977
  quality: {
16978
+ notes: string[];
16441
16979
  stage: "composition-source" | "production-candidate";
16442
16980
  workingCanvas: {
16443
16981
  width: number;
@@ -16453,7 +16991,6 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16453
16991
  };
16454
16992
  background: "opaque" | "transparent" | "full-bleed";
16455
16993
  checks: ("prompt-coverage" | "native-grid" | "final-palette" | "alpha-edge" | "human-1x")[];
16456
- notes: string[];
16457
16994
  };
16458
16995
  styleId: string;
16459
16996
  version: string;
@@ -16477,7 +17014,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16477
17014
  style: {
16478
17015
  outDir: string;
16479
17016
  palette: string[];
16480
- generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash";
17017
+ generator: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx";
16481
17018
  promptSuffix: string;
16482
17019
  promptPrefix: string;
16483
17020
  styleImages: {
@@ -16640,7 +17177,7 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16640
17177
  shading?: string | undefined;
16641
17178
  detail?: string | undefined;
16642
17179
  enhancePrompt?: boolean | undefined;
16643
- generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | undefined;
17180
+ generator?: "map" | "frames" | "1dir" | "pixflux" | "tiles" | "animation" | "character" | "terrain" | "imagePro" | "isometricTile" | "objectPro" | "uiAsset" | "uiElement" | "imageProFlash" | "vfx" | undefined;
16644
17181
  view?: string | undefined;
16645
17182
  promptSuffix?: string | undefined;
16646
17183
  promptPrefix?: string | undefined;
@@ -16713,6 +17250,11 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16713
17250
  providerOptions?: Record<string, Record<string, unknown>> | undefined;
16714
17251
  };
16715
17252
  $schema?: string | undefined;
17253
+ files?: {
17254
+ path: string;
17255
+ sha256: string;
17256
+ role: "reference" | "workflow";
17257
+ }[] | undefined;
16716
17258
  workflow?: {
16717
17259
  path: string;
16718
17260
  outputNodeId: string;
@@ -16752,11 +17294,6 @@ declare const RecipeSchema: z.ZodEffects<z.ZodObject<{
16752
17294
  } | undefined;
16753
17295
  };
16754
17296
  } | undefined;
16755
- files?: {
16756
- path: string;
16757
- sha256: string;
16758
- role: "reference" | "workflow";
16759
- }[] | undefined;
16760
17297
  models?: {
16761
17298
  path: string;
16762
17299
  source: string;
@@ -17154,8 +17691,12 @@ declare const FONT_WEIGHTS: readonly ["Bold", "Regular"];
17154
17691
  type FontWeight = (typeof FONT_WEIGHTS)[number];
17155
17692
  declare const FONT_GLYPH_SIZES: readonly [8, 16, 32, 64];
17156
17693
  type FontGlyphSize = (typeof FONT_GLYPH_SIZES)[number];
17157
- /** Documented price of one `/generate-font-pro` call, on a subscription. Not yet confirmed against a live bill. */
17158
- declare const FONT_COST_GENERATIONS = 25;
17694
+ /**
17695
+ * Documented price of one `/generate-font-pro` call, on a subscription: 15
17696
+ * since PixelLab's October 2026 Pro cut (25 before). Not yet confirmed
17697
+ * against a live bill.
17698
+ */
17699
+ declare const FONT_COST_GENERATIONS = 15;
17159
17700
  interface GenerateFontOptions {
17160
17701
  description: string;
17161
17702
  weight: FontWeight;
@@ -17190,6 +17731,236 @@ declare function fontOutputPaths(out: string): {
17190
17731
  * `download`.
17191
17732
  */
17192
17733
  declare function generateFont(client: Pick<PixelLabClient, "generateFontPro" | "getFontJob" | "download">, opts: GenerateFontOptions): Promise<GenerateFontResult>;
17734
+ /** `/image-to-pixelart-pro-flash`'s flat price, billed exactly this live in October 2026. */
17735
+ declare const PIXELATE_COST_GENERATIONS = 6;
17736
+ /** Sources longer than this on either side are scaled down by PixelLab before conversion; they are not refused. */
17737
+ declare const PIXELATE_MAX_SIDE = 2048;
17738
+ interface PixelateOptions {
17739
+ /** Defaults to `<input>.pixel.png` beside the input. */
17740
+ out?: string;
17741
+ /** Optional style steer, e.g. "retro vibes with light dithering". */
17742
+ description?: string;
17743
+ seed?: number;
17744
+ force?: boolean;
17745
+ /** Poll interval and ceiling. Conversions measured at about 30 s. */
17746
+ intervalMs?: number;
17747
+ timeoutMs?: number;
17748
+ onProgress?: (status: string) => void;
17749
+ sleep?: (ms: number) => Promise<void>;
17750
+ }
17751
+ interface PixelateResult {
17752
+ jobId: string;
17753
+ out: string;
17754
+ original: {
17755
+ width: number;
17756
+ height: number;
17757
+ };
17758
+ pixelated: {
17759
+ width: number;
17760
+ height: number;
17761
+ };
17762
+ /** PixelLab's gallery id for the result, reusable as a Pro Flash `source_image_id`. */
17763
+ imageId: string;
17764
+ usage: unknown;
17765
+ }
17766
+ /** Where `pixelate` writes when no `--out` is given: beside the input, never over it. */
17767
+ declare function defaultPixelateOut(input: string): string;
17768
+ /**
17769
+ * Convert a photo, painting, or render into pixel art with PixelLab's Image
17770
+ * to Pixel Art Pro Flash, wait for it, and write the PNG. PixelLab picks the
17771
+ * output size itself from the source's detected pixel scale, so there is no
17772
+ * size option. The result is opaque, on a near-white background (measured
17773
+ * on both live outputs; transparent source areas become white as well), so
17774
+ * a cut-out sprite needs its background removed afterwards. For art that is
17775
+ * already pixel art and merely upscaled, use
17776
+ * `unzoomFile` instead: it recovers the grid rather than redrawing.
17777
+ */
17778
+ declare function pixelateFile(client: Pick<PixelLabClient, "imageToPixelartProFlash" | "getBackgroundJob">, input: string, opts?: PixelateOptions): Promise<PixelateResult>;
17779
+
17780
+ declare const VFX_TOOL = "vfx_workbench";
17781
+ /** Arguments for one `add_part`; `name` is the part (see `describeVfx("parts")`), the rest its placement and sliders. */
17782
+ interface VfxPart {
17783
+ name: string;
17784
+ [option: string]: unknown;
17785
+ }
17786
+ interface VfxExport {
17787
+ effectId: string;
17788
+ editUrl: string | null;
17789
+ width: number;
17790
+ height: number;
17791
+ frames: number;
17792
+ fps: number;
17793
+ loop: boolean;
17794
+ anchor: {
17795
+ x: number;
17796
+ y: number;
17797
+ } | null;
17798
+ /** The folder every file below is served from, with a trailing slash. */
17799
+ downloadBase: string;
17800
+ files: string[];
17801
+ imageId: string | null;
17802
+ }
17803
+ /** The step id a workbench reply hands back; every call that changes the effect returns a new one. */
17804
+ declare function parseVfxStep(text: string): string;
17805
+ /** The working recipe `start` prints (from a preset or a saved effect), or null when it printed none. */
17806
+ declare function parseVfxRecipe(text: string): Record<string, unknown> | null;
17807
+ /** Reads an `export` reply. The shape is plain text; every field read here was seen on a live export in October 2026. */
17808
+ declare function parseVfxExport(text: string): VfxExport;
17809
+ /** The workbench's own guide to a topic: `presets`, `parts`, `start`, `recipe`, `edits`, and so on. Free. */
17810
+ declare function describeVfx(client: Pick<PixelLabMcpClient, "callTool">, topic: string): Promise<string>;
17811
+ /** `<out>.png`, `.gif`, `.json`, `.vfx.json`, and `-game.zip`, with a trailing extension on `out` treated as the base's own. */
17812
+ declare function vfxOutputPaths(out: string): {
17813
+ sheet: string;
17814
+ gif: string;
17815
+ atlas: string;
17816
+ provenance: string;
17817
+ gamePack: string;
17818
+ };
17819
+ /** A PixelLab reference or a URL, as opposed to a local file. */
17820
+ declare function isVfxReference(sprite: string): boolean;
17821
+ /**
17822
+ * A `--sprite` value as the workbench takes it. PixelLab references
17823
+ * (`character:<id>:<direction>`, `object:<id>`, `gallery:<id>`) and URLs pass
17824
+ * through; anything else is read as a local PNG or JPEG and sent inline.
17825
+ */
17826
+ declare function resolveVfxSprite(sprite: string): Promise<string>;
17827
+ /**
17828
+ * A recipe file: either a bare recipe or the `.vfx.json` record `makeVfx`
17829
+ * writes. From a record, the sprite it was built around comes back too: a
17830
+ * recipe stores only where the sprite stands (`subject`), not its pixels,
17831
+ * so it has to be sent again to render the same effect.
17832
+ */
17833
+ declare function readVfxRecipe(file: string): Promise<{
17834
+ recipe: Record<string, unknown>;
17835
+ sprite?: string;
17836
+ }>;
17837
+ interface MakeVfxOptions {
17838
+ /** Start from one of PixelLab's whole-effect presets (`describeVfx("presets")`). */
17839
+ preset?: string;
17840
+ /** Start from a full recipe, e.g. one a previous run saved. Rendered exactly as given. */
17841
+ recipe?: Record<string, unknown>;
17842
+ /** Start from an effect saved in the account's My effects, with any slider changes made on pixellab.ai. Exported over itself. */
17843
+ effect?: string;
17844
+ /** Parts added on top of whatever the effect started from; alone, the first one starts the effect. */
17845
+ parts?: VfxPart[];
17846
+ /** The character the effect is built around: a local image, a URL, or a PixelLab reference. */
17847
+ sprite?: string;
17848
+ fps?: number;
17849
+ /**
17850
+ * The name saved to My effects. Defaults to the saved effect's own name
17851
+ * when starting from one (so exporting over it does not rename it), or the
17852
+ * recipe's, then the preset, then the output's file name.
17853
+ */
17854
+ name?: string;
17855
+ /** Output base; see `vfxOutputPaths`. */
17856
+ out: string;
17857
+ /** Also export a ZIP with every piece as its own clip plus a manifest, for a game engine. */
17858
+ gamePack?: boolean;
17859
+ /** A My effects id to overwrite instead of saving a new effect. Defaults to `effect` when starting from one. */
17860
+ replace?: string;
17861
+ force?: boolean;
17862
+ onProgress?: (message: string) => void;
17863
+ /** Replaced in tests. Defaults to a size-limited, retrying fetch. */
17864
+ download?: (url: string) => Promise<Buffer>;
17865
+ }
17866
+ interface VfxProvenance {
17867
+ version: 1;
17868
+ provider: "pixellab";
17869
+ tool: typeof VFX_TOOL;
17870
+ name: string;
17871
+ effectId: string;
17872
+ editUrl: string | null;
17873
+ source: {
17874
+ preset?: string;
17875
+ effect?: string;
17876
+ recipeFile?: boolean;
17877
+ parts?: VfxPart[];
17878
+ sprite?: string;
17879
+ };
17880
+ width: number;
17881
+ height: number;
17882
+ frames: number;
17883
+ fps: number;
17884
+ loop: boolean;
17885
+ anchor: {
17886
+ x: number;
17887
+ y: number;
17888
+ } | null;
17889
+ files: {
17890
+ sheet: string;
17891
+ gif: string;
17892
+ atlas: string;
17893
+ gamePack?: string;
17894
+ };
17895
+ exportedAt: string;
17896
+ /** The effect's recipe as PixelLab saved it; feed this file back as `--recipe` to render it again. */
17897
+ recipe: Record<string, unknown> | null;
17898
+ }
17899
+ interface MakeVfxResult extends VfxExport {
17900
+ paths: {
17901
+ sheet: string;
17902
+ gif: string;
17903
+ atlas: string;
17904
+ provenance: string;
17905
+ gamePack?: string;
17906
+ };
17907
+ recipe: Record<string, unknown> | null;
17908
+ }
17909
+ interface VfxWorkbenchOptions {
17910
+ preset?: string;
17911
+ recipe?: Record<string, unknown>;
17912
+ effect?: string;
17913
+ parts?: VfxPart[];
17914
+ /** Already in the form the workbench takes: see `resolveVfxSprite`. */
17915
+ sprite?: string;
17916
+ fps?: number;
17917
+ /** The My effects name; defaults to the saved effect's or recipe's own, then `defaultName`. */
17918
+ name?: string;
17919
+ defaultName: string;
17920
+ /** A My effects id to export over instead of saving a new effect. */
17921
+ replace?: string;
17922
+ gamePack?: boolean;
17923
+ /** Stored with each step by PixelLab, to improve its tools. */
17924
+ notes?: string;
17925
+ onProgress?: (message: string) => void;
17926
+ /** Called as soon as the export lands, before the recipe is read back, so a caller can checkpoint it. */
17927
+ onExported?: (exported: VfxExport, name: string) => void | Promise<void>;
17928
+ }
17929
+ /**
17930
+ * The workbench calls for one effect: start, render a recipe, add parts,
17931
+ * set fps, export, then read the saved effect's recipe back (the export reply
17932
+ * carries none). Downloads nothing.
17933
+ */
17934
+ declare function runVfxWorkbench(client: Pick<PixelLabMcpClient, "callTool">, opts: VfxWorkbenchOptions): Promise<{
17935
+ exported: VfxExport;
17936
+ recipe: Record<string, unknown> | null;
17937
+ name: string;
17938
+ }>;
17939
+ /** The saved effect's recipe, or null when the account no longer has it (PixelLab: "No saved effect … in your library"). */
17940
+ declare function readSavedVfxRecipe(client: Pick<PixelLabMcpClient, "callTool">, effectId: string): Promise<Record<string, unknown> | null>;
17941
+ /**
17942
+ * A recipe's identity: what renders, not what it is called. `name` and
17943
+ * `notes` change with an export's name and never reach a pixel, so two
17944
+ * recipes that differ only there hash the same.
17945
+ */
17946
+ declare function vfxRecipeSha256(recipe: Record<string, unknown>): string;
17947
+ /**
17948
+ * Cut an exported spritesheet into its frames. The atlas's frame rectangles
17949
+ * are used when it lists one per frame; otherwise the sheet is read as a
17950
+ * row-major grid of `width`x`height` cells, which is how PixelLab lays it out.
17951
+ */
17952
+ declare function sliceVfxSheet(sheet: Buffer, facts: {
17953
+ width: number;
17954
+ height: number;
17955
+ frames: number;
17956
+ }, atlas?: unknown): Buffer[];
17957
+ /**
17958
+ * Build, export, and download one effect: start (preset, saved effect,
17959
+ * recipe, or nothing), add parts, export to My effects, download the files,
17960
+ * then read the saved effect's final recipe back and write it with the
17961
+ * export's facts to `<out>.vfx.json`.
17962
+ */
17963
+ declare function makeVfx(client: Pick<PixelLabMcpClient, "callTool">, opts: MakeVfxOptions): Promise<MakeVfxResult>;
17193
17964
 
17194
17965
  interface RevisionReadiness {
17195
17966
  ready: boolean;
@@ -17668,6 +18439,8 @@ interface AtlasSet {
17668
18439
  kind: "frames" | "members";
17669
18440
  /** Playback rate for `frames`; absent for structural sets. */
17670
18441
  fps?: number;
18442
+ /** False for a `frames` set that plays once (a one-shot effect); absent means it loops. */
18443
+ loop?: boolean;
17671
18444
  /** Frame ids in play order. */
17672
18445
  frames: string[];
17673
18446
  }
@@ -23019,4 +23792,4 @@ interface WorkspaceStatusReport {
23019
23792
  */
23020
23793
  declare function workspaceStatus(ws: Workspace, dir: string): Promise<WorkspaceStatusReport>;
23021
23794
 
23022
- export { type AdoptResult, type ApproveQualityOptions, type ApprovedQualityReview, type ArtifactBundleManifest, type ArtifactBundleOptions, type ArtifactBundleResult, type ArtifactFile, type ArtifactProvenance, type ArtifactSource, type ArtifactVerification, type Asset, type AssetAudit, type AssetBatch, AssetBatchSchema, AssetSchema, type AtlasSet, type AuditEvaluation, type AuditThresholds, type AuditViolation, type Balance, type BalanceChange, type BalanceInfo, type Base64Image, type BilledAmount, BudgetError, type BuildGalleryOptions, type BuildWorkspaceGalleryOptions, CHARACTER_DIRECTIONS_4, CHARACTER_DIRECTIONS_8, CHARACTER_PROPORTION_PRESETS, type CacheHealthOptions, type CacheHealthReport, type CandidateSelection, type CharacterAnimation, type CharacterAnimationMode, CharacterAnimationModeSchema, CharacterAnimationSchema$1 as CharacterAnimationSchema, type CharacterDirection, CharacterDirectionSchema, type CharacterMode, CharacterModeSchema, type CharacterOutfit, CharacterOutfitSchema, type CharacterPortrait, CharacterPortraitSchema, type CharacterPortraitSize, CharacterPortraitSizeSchema, type CharacterProportions, CharacterProportionsSchema, type CharacterState, CharacterStateSchema, type ComfyUIBinding, type ComfyUIBindings, type ComfyUIFramesOptions, type ComfyUIImageInput, type ComfyUIOptions, ComfyUIProvider, type ContentCacheHealth, type ContentCacheIssue, type CostEstimate, type CostUnit, DEFAULT_HISTORY_LIMIT, DEFAULT_QUALITY_TOLERANCES, DEFAULT_RATE_LIMIT, DEFAULT_TIMEOUT_MS, type DoctorCheck, type DoctorLevel, type DoctorOptions, type DoctorReport, EDITOR_PIN, EDITOR_RELEASE_BASE, EXIT_CODES, EditorInstallError, type EditorInstallOptions, type EditorInstallProgress, type EditorInstallResult, type EditorInstallStatus, type EditorPin, type ErrorCode, FAKE_PNG, FONT_COST_GENERATIONS, FONT_GLYPH_SIZES, FONT_WEIGHTS, FRAME_SET_REVISION_MODES, type FakeOptions, FakeProvider, type FetchResult, type FontGlyphSize, type FontWeight, type GalleryBuild, type GalleryEditHandlerOptions, type GalleryEditMeta, type GalleryEditorHandlers, type GalleryEditorOptions, type GalleryEditorStatus, type GalleryGenerateHandlers, type GalleryGeneration, type GalleryItem, type GalleryMedia, type GalleryOutput, type GalleryProject, type GalleryProjectContext, type GalleryQuality, type GalleryServer, type GalleryServerOptions, type GallerySnapshot, type GalleryState, type GalleryStyle, type GenerateFontOptions, type GenerateFontResult, type GenerateHandlerOptions, type GenerateJob, type GeneratePhase, GenerateRequestError, GenerateRequestSchema, type GenerateStatus, type Generator, GeneratorSchema, type GenericTileset, type GridConfidence, GridConfidenceSchema, HAND_EDIT_DIR, HISTORY_ENV, type HandEditCompanion, HandEditCompanionSchema, type HandEditMember, type HandEditSave, type HandEditSaveInput, type HandEditStart, type HandEditStatus, type HistoryPick, type ImageQualityMetrics, ImageQualityMetricsSchema, InheritedStyleSchema, type InstallRecipeOptions, type InstallRecipeResult, type JobState, type LoadedManifest, type LoadedRecipe, type Lock, type LockEntry, LockEntrySchema, type LockHistoryEntry, LockHistoryEntrySchema, type LockOutput, LockSchema, MAX_DOWNLOAD_BYTES, MAX_HAND_EDIT_BYTES, MAX_RETRIES, MEMBER_SET_REVISION_MODES, MIRRORED_DIRECTION, type ManagedArtifactBundleOptions, type Manifest, ManifestDriftError, type ManifestEdit, ManifestEditError, type ManifestEditResult, ManifestEditSchema, ManifestInputSchema, ManifestSchema, type MapObject, type MapScene, type MapScenePlacement, MapScenePlacementSchema, MapSceneSchema, MediaType, type MountPlacement, type MountedSheet, type NormalizedTileRules, type ObjectAnimationGroup, type OpenProjectOptions, type Orphan, type OrphanGroups, type OutputSelection, type OutputSource, OverwriteRefusedError, PIXEL_ART_FIXER_REVISION, PIXEL_ART_FIXER_URL, type PackedFrame, type PackedSheet, type PackedSource, type PendingQualityReview, type PickResult, type PixelArtFixerDetection, PixelKilnError, type PixelKilnErrorOptions, type PixelLabCharacter, type PixelLabCharacterAnimation, PixelLabClient, PixelLabError, type PixelLabObject, PixelLabProvider, type PixelLabUsage, type Plan, type PlanItem, type PlanState, type PollContext, type PollOptions, type PollResult, type Postprocess, PostprocessSchema, type PrepareReviewOptions, type ProFlashCostOperation, type ProFlashQuote, type Project, ProjectError, type Provider, ProviderError, type ProviderFactory, type ProviderInputContext, type ProviderInputScalar, type ProviderInputValue, type ProviderMetadata, type ProviderMode, type ProviderOptionContext, type ProviderSubmission, type QualityBaseline, QualityBaselineSchema, type QualityCheck, type QualityProfile, type QualityProfileInspection, QualityProfileSchema, type QualityProfileState, type QualityRegressionCaseResult, type QualityRegressionReport, type QualitySnapshotResult, QualityToleranceSchema, type QualityTolerances, type RateLimit, type Recipe, type RecipeFileVerification, type RecipeModelVerification, RecipeSchema, type RecipeVerification, type RefineAudit, type RefineFrameSetOptions, type RefineFrameSetResult, type RefineOptions, type RefineQualityProfilesOptions, type RefineQualityProfilesResult, type RefineRecordOptions, type RefineResult, type RefreshContext, type RemoteAsset, type RemoteCharacter, type RemoteCharacterDetail, type RemoteHashCacheHealth, type RenderGalleryOptions, type RenderSheetOptions, type ResolvedBatch, type ResolvedCharacter, type ResolvedMapScene, type ResolvedMirror, type ResolvedObjectPro, type ResolvedOutput, type ResolvedProviderInputs, type ResolvedProviderOptions, type ResolvedQualityInput, type ResolvedQualityProfile, type ResolvedReferenceImage, type ResolvedRevision, type ResolvedRevisionMember, type ResolvedSpec, type ResolvedStyleAnchor, type ResolvedStyleImage, type ResumeAction, type ResumeCommand, type RetroDiffusionOptions, RetroDiffusionProvider, type RetryInit, type RetryOptions, type RetryingFetch, type RevertOptions, type RevertResult, type ReviewReadyInfo, type ReviewSession, type Revision, type RevisionDithering, RevisionDitheringSchema, type RevisionMode, RevisionModeSchema, type RevisionReadiness, RevisionSchema, SHEET_FORMATS, type SalvageAction, type SalvageResult, type ScannedAsset, type ScenarioOptions, ScenarioProvider, type SessionBudget, type SheetAtlas, type SheetFormat, type SheetFormatOptions, type SheetGroup, type SiblingManifest, type SpriteInput, type Style, type StyleAudit, type StyleInput, StyleInputSchema, StyleSchema, type SubmissionCheckpoint, type SubmitContext, type SubmitOptions, type SubmitResult, type TilesPro, type Tileset, type TilesetExport, type TilesetExportOptions, type TilesetFormat, type TilesetTile, UNZOOM_MAX_AREA, UNZOOM_MIN_SIDE, type UiElement, UiElementSchema, type UiPiece, UiPieceSchema, UnsupportedCapabilityError, type UnzoomFileResult, UsageError, type Workspace, type WorkspaceClaims, type WorkspaceDiagnostic, type WorkspaceProject, WorkspaceProjectSchema, type WorkspaceProjectStatus, WorkspaceSchema, type WorkspaceStatusReport, adopt, applyManifestEdit, applyTags, approveQualityRecord, auditStyle, availableProviders, backoffMs, buildGallerySnapshot, buildManifest, buildPlan, buildWorkspaceGallerySnapshot, bundledRecipeRoot, cacheFileName, candidateCount, characterDirections, checkQualityBaseline, checkQualityRecord, clientFromEnv, colorDistance, countNumberedDescriptions, createArtifactBundleManifest, createGalleryEditHandler, createGalleryEditorHandlers, createGenerateHandlers, createProvider, currentEntryOutputPath, currentOutputPath, defaultOpenCommand, defaultUnzoomOut, detachHandEdit, detectMediaType, doctor, editorBaseUrl, editorDir, editorRoute, editorStatus, editorToolsRoot, errorCode, evaluateAudit, exitCodeFor, expectedOutputPath, exportTileset, fallbackOutputRole, fetchAssets, fetchWithRetry, findOrphans, fontOutputPaths, formatCost, frameSetFps, galleryContentSecurityPolicy, galleryMediaId, galleryMediaRoute, generateFont, generationCost, groupOrphansByStyle, handEditBase, handEditBases, handEditCompanionPath, handEditMembers, handEditPath, handEditProjectPath, hex, historyAfterReplacing, historyLimit, idFromPrompt, imageMetadata, inspectCaches, inspectQualityProfile, inspectRevisionReadiness, installEditor, installRecipe, isFrameSetEntry, isMemberSetEntry, isSensitiveSourceUrl, isometricTileCost, listBundledRecipes, loadClaims, loadLock, loadManifest, loadSiblingManifests, loadWorkspace, lockKey, matchOrphanStyle, measureBalanceChange, measureDecodedImageQuality, measureImageQuality, mediaExtension, mediaTypeFromExtension, memberPath, mergePalettes, mountSprites, mountStyle, normalizeLockOutputPaths, normalizeRefinementPalette, normalizeTerrainTiles, normalizeTileRules, openExternal, openInEditor, openProject, outliers, outputId, packSprites, packStyle, paletteDistance, parentAssetId, parseLock, parseProFlashQuote, parseTerrainDescriptions, parseWorkspace, pickHistory, pngSize, poll, portableOutputPath, prepareReview, primaryOutput, proportionsPayload, providerCredentialEnvs, providerFactory, pushTags, qualityFrameOutputPath, qualityRecordPath, quantizeToPalette, readArtifactBundleManifest, readHandEditCompanion, readQualityBaseline, recipeDigest, referencedHashes, refineAsset, refineFrameSet, refineQualityProfiles, registerProvider, remove, renderAsepriteSheet, renderGallery, renderGodotSpriteFrames, renderSalvageSheet, renderSheet, renderSheetDocument, requireApprovedQualitySources, requireBalance, requireDelete, requireList, requireRevisionReady, requireSelectCandidate, resolveEntryOutputs, resolveOutputPath, resolvePackInputs, resolveProject, resolveQualityInputs, resolveRecipe, resolveSpecEntryOutputs, resolveSpecOutputs, resolveSpecs, resolveStyleImages, resolveStyleOutputs, resumeActions, resumeCommandForStatus, retireGeneration, retryAfterMs, revertGeneration, runPicker, runSalvage, saveHandEdit, saveLock, saveWorkspace, scanAssets, selectEntryOutput, serveGallery, sha256, sha256File, shouldPersistSourceUrl, shouldRetry, slugify, snapshotQualityBaseline, sourceIsStem, sourceOutputPath, specHash, spendByUnit, startHandEdit, styleImagesBase64, submit, summarize, tagAdopted, terrainTileCount, tileFeatureOutputCount, tileVariationCount, tilesCost, toPortablePath, totalSpend, unzoomFile, upsert, validateCostEstimate, validateMedia, validateWorkspace, verifyArtifactBundle, verifyRecipe, withArtifactManifest, workspaceClaims, workspaceStatus, writeArtifactBundle, writeManagedArtifactBundle };
23795
+ export { type AdoptResult, type ApproveQualityOptions, type ApprovedQualityReview, type ArtifactBundleManifest, type ArtifactBundleOptions, type ArtifactBundleResult, type ArtifactFile, type ArtifactProvenance, type ArtifactSource, type ArtifactVerification, type Asset, type AssetAudit, type AssetBatch, AssetBatchSchema, AssetSchema, type AssetVfx, AssetVfxSchema, type AtlasSet, type AuditEvaluation, type AuditThresholds, type AuditViolation, type Balance, type BalanceChange, type BalanceInfo, type Base64Image, type BilledAmount, BudgetError, type BuildGalleryOptions, type BuildWorkspaceGalleryOptions, CHARACTER_DIRECTIONS_4, CHARACTER_DIRECTIONS_8, CHARACTER_PROPORTION_PRESETS, type CacheHealthOptions, type CacheHealthReport, type CandidateSelection, type CharacterAnimation, type CharacterAnimationMode, CharacterAnimationModeSchema, CharacterAnimationSchema$1 as CharacterAnimationSchema, type CharacterDirection, CharacterDirectionSchema, type CharacterMode, CharacterModeSchema, type CharacterOutfit, CharacterOutfitSchema, type CharacterPortrait, CharacterPortraitSchema, type CharacterPortraitSize, CharacterPortraitSizeSchema, type CharacterProportions, CharacterProportionsSchema, type CharacterState, CharacterStateSchema, type ComfyUIBinding, type ComfyUIBindings, type ComfyUIFramesOptions, type ComfyUIImageInput, type ComfyUIOptions, ComfyUIProvider, type ContentCacheHealth, type ContentCacheIssue, type CostEstimate, type CostUnit, DEFAULT_HISTORY_LIMIT, DEFAULT_QUALITY_TOLERANCES, DEFAULT_RATE_LIMIT, DEFAULT_TIMEOUT_MS, type DoctorCheck, type DoctorLevel, type DoctorOptions, type DoctorReport, EDITOR_PIN, EDITOR_RELEASE_BASE, EXIT_CODES, EditorInstallError, type EditorInstallOptions, type EditorInstallProgress, type EditorInstallResult, type EditorInstallStatus, type EditorPin, type ErrorCode, FAKE_PNG, FONT_COST_GENERATIONS, FONT_GLYPH_SIZES, FONT_WEIGHTS, FRAME_SET_REVISION_MODES, type FakeOptions, FakeProvider, type FetchResult, type FontGlyphSize, type FontWeight, type GalleryBuild, type GalleryEditHandlerOptions, type GalleryEditMeta, type GalleryEditorHandlers, type GalleryEditorOptions, type GalleryEditorStatus, type GalleryGenerateHandlers, type GalleryGeneration, type GalleryItem, type GalleryMedia, type GalleryOutput, type GalleryProject, type GalleryProjectContext, type GalleryQuality, type GalleryServer, type GalleryServerOptions, type GallerySnapshot, type GalleryState, type GalleryStyle, type GenerateFontOptions, type GenerateFontResult, type GenerateHandlerOptions, type GenerateJob, type GeneratePhase, GenerateRequestError, GenerateRequestSchema, type GenerateStatus, type Generator, GeneratorSchema, type GenericTileset, type GridConfidence, GridConfidenceSchema, HAND_EDIT_DIR, HISTORY_ENV, type HandEditCompanion, HandEditCompanionSchema, type HandEditMember, type HandEditSave, type HandEditSaveInput, type HandEditStart, type HandEditStatus, type HistoryPick, type ImageQualityMetrics, ImageQualityMetricsSchema, InheritedStyleSchema, type InstallRecipeOptions, type InstallRecipeResult, type JobState, type LoadedManifest, type LoadedRecipe, type Lock, type LockEntry, LockEntrySchema, type LockHistoryEntry, LockHistoryEntrySchema, type LockOutput, LockSchema, MAX_DOWNLOAD_BYTES, MAX_HAND_EDIT_BYTES, MAX_RETRIES, MEMBER_SET_REVISION_MODES, MIRRORED_DIRECTION, type MakeVfxOptions, type MakeVfxResult, type ManagedArtifactBundleOptions, type Manifest, ManifestDriftError, type ManifestEdit, ManifestEditError, type ManifestEditResult, ManifestEditSchema, ManifestInputSchema, ManifestSchema, type MapObject, type MapScene, type MapScenePlacement, MapScenePlacementSchema, MapSceneSchema, type McpImage, type McpToolResult, MediaType, type MountPlacement, type MountedSheet, type NormalizedTileRules, type ObjectAnimationGroup, type OpenProjectOptions, type Orphan, type OrphanGroups, type OutputSelection, type OutputSource, OverwriteRefusedError, PIXELATE_COST_GENERATIONS, PIXELATE_MAX_SIDE, PIXELLAB_MCP_URL, PIXEL_ART_FIXER_REVISION, PIXEL_ART_FIXER_URL, PRO_TIER_PRICES, type PackedFrame, type PackedSheet, type PackedSource, type PendingQualityReview, type PickResult, type PixelArtFixerDetection, PixelKilnError, type PixelKilnErrorOptions, type PixelLabCharacter, type PixelLabCharacterAnimation, PixelLabClient, PixelLabError, PixelLabMcpClient, type PixelLabObject, PixelLabProvider, type PixelLabUsage, type PixelateOptions, type PixelateResult, type Plan, type PlanItem, type PlanState, type PollContext, type PollOptions, type PollResult, type Postprocess, PostprocessSchema, type PrepareReviewOptions, type ProFlashCostOperation, type ProFlashQuote, type Project, ProjectError, type Provider, ProviderError, type ProviderFactory, type ProviderInputContext, type ProviderInputScalar, type ProviderInputValue, type ProviderMetadata, type ProviderMode, type ProviderOptionContext, type ProviderSubmission, type QualityBaseline, QualityBaselineSchema, type QualityCheck, type QualityProfile, type QualityProfileInspection, QualityProfileSchema, type QualityProfileState, type QualityRegressionCaseResult, type QualityRegressionReport, type QualitySnapshotResult, QualityToleranceSchema, type QualityTolerances, type RateLimit, type Recipe, type RecipeFileVerification, type RecipeModelVerification, RecipeSchema, type RecipeVerification, type RefineAudit, type RefineFrameSetOptions, type RefineFrameSetResult, type RefineOptions, type RefineQualityProfilesOptions, type RefineQualityProfilesResult, type RefineRecordOptions, type RefineResult, type RefreshContext, type RemoteAsset, type RemoteCharacter, type RemoteCharacterDetail, type RemoteHashCacheHealth, type RenderGalleryOptions, type RenderSheetOptions, type ResolvedBatch, type ResolvedCharacter, type ResolvedMapScene, type ResolvedMirror, type ResolvedObjectPro, type ResolvedOutput, type ResolvedProviderInputs, type ResolvedProviderOptions, type ResolvedQualityInput, type ResolvedQualityProfile, type ResolvedReferenceImage, type ResolvedRevision, type ResolvedRevisionMember, type ResolvedSpec, type ResolvedStyleAnchor, type ResolvedStyleImage, type ResolvedVfx, type ResumeAction, type ResumeCommand, type RetroDiffusionOptions, RetroDiffusionProvider, type RetryInit, type RetryOptions, type RetryingFetch, type RevertOptions, type RevertResult, type ReviewReadyInfo, type ReviewSession, type Revision, type RevisionDithering, RevisionDitheringSchema, type RevisionMode, RevisionModeSchema, type RevisionReadiness, RevisionSchema, SHEET_FORMATS, type SalvageAction, type SalvageResult, type ScannedAsset, type ScenarioOptions, ScenarioProvider, type SessionBudget, type SheetAtlas, type SheetFormat, type SheetFormatOptions, type SheetGroup, type SiblingManifest, type SpriteInput, type Style, type StyleAudit, type StyleInput, StyleInputSchema, StyleSchema, type SubmissionCheckpoint, type SubmitContext, type SubmitOptions, type SubmitResult, type TilesPro, type Tileset, type TilesetExport, type TilesetExportOptions, type TilesetFormat, type TilesetTile, UNZOOM_MAX_AREA, UNZOOM_MIN_SIDE, type UiElement, UiElementSchema, type UiPiece, UiPieceSchema, UnsupportedCapabilityError, type UnzoomFileResult, UsageError, VFX_TOOL, type VfxExport, type VfxPart, VfxPartSchema, type VfxProvenance, type VfxWorkbenchOptions, type Workspace, type WorkspaceClaims, type WorkspaceDiagnostic, type WorkspaceProject, WorkspaceProjectSchema, type WorkspaceProjectStatus, WorkspaceSchema, type WorkspaceStatusReport, adopt, applyManifestEdit, applyTags, approveQualityRecord, assetInStyle, auditStyle, availableProviders, backoffMs, buildGallerySnapshot, buildManifest, buildPlan, buildWorkspaceGallerySnapshot, bundledRecipeRoot, cacheFileName, candidateCount, characterDirections, checkQualityBaseline, checkQualityRecord, clientFromEnv, colorDistance, countNumberedDescriptions, createArtifactBundleManifest, createGalleryEditHandler, createGalleryEditorHandlers, createGenerateHandlers, createProvider, currentEntryOutputPath, currentOutputPath, defaultOpenCommand, defaultPixelateOut, defaultUnzoomOut, describeVfx, detachHandEdit, detectMediaType, doctor, editorBaseUrl, editorDir, editorRoute, editorStatus, editorToolsRoot, errorCode, evaluateAudit, exitCodeFor, expectedOutputPath, exportTileset, fallbackOutputRole, fetchAssets, fetchWithRetry, findOrphans, fontOutputPaths, formatCost, frameSetFps, frameSetLoop, galleryContentSecurityPolicy, galleryMediaId, galleryMediaRoute, generateFont, generationCost, groupOrphansByStyle, handEditBase, handEditBases, handEditCompanionPath, handEditMembers, handEditPath, handEditProjectPath, hex, historyAfterReplacing, historyLimit, idFromPrompt, imageMetadata, inspectCaches, inspectQualityProfile, inspectRevisionReadiness, installEditor, installRecipe, isBusyReply, isFrameSetEntry, isMemberSetEntry, isSensitiveSourceUrl, isVfxReference, isometricTileCost, listBundledRecipes, loadClaims, loadLock, loadManifest, loadSiblingManifests, loadWorkspace, lockKey, makeVfx, matchOrphanStyle, mcpClientFromEnv, measureBalanceChange, measureDecodedImageQuality, measureImageQuality, mediaExtension, mediaTypeFromExtension, memberPath, mergePalettes, mountSprites, mountStyle, normalizeLockOutputPaths, normalizeRefinementPalette, normalizeTerrainTiles, normalizeTileRules, openExternal, openInEditor, openProject, outliers, outputId, packSprites, packStyle, paletteDistance, parentAssetId, parseLock, parseMcpBody, parseProFlashQuote, parseTerrainDescriptions, parseVfxExport, parseVfxRecipe, parseVfxStep, parseWorkspace, pickHistory, pixelateFile, pngSize, poll, portableOutputPath, prepareReview, primaryOutput, proTierCost, proportionsPayload, providerCredentialEnvs, providerFactory, pushTags, qualityFrameOutputPath, qualityRecordPath, quantizeToPalette, readArtifactBundleManifest, readHandEditCompanion, readQualityBaseline, readSavedVfxRecipe, readVfxRecipe, recipeDigest, referencedHashes, refineAsset, refineFrameSet, refineQualityProfiles, registerProvider, remove, renderAsepriteSheet, renderGallery, renderGodotSpriteFrames, renderSalvageSheet, renderSheet, renderSheetDocument, requireApprovedQualitySources, requireBalance, requireDelete, requireList, requireRevisionReady, requireSelectCandidate, resolveEntryOutputs, resolveOutputPath, resolvePackInputs, resolveProject, resolveQualityInputs, resolveRecipe, resolveSpecEntryOutputs, resolveSpecOutputs, resolveSpecs, resolveStyleImages, resolveStyleOutputs, resolveVfxSprite, resumeActions, resumeCommandForStatus, retireGeneration, retryAfterMs, revertGeneration, runPicker, runSalvage, runVfxWorkbench, saveHandEdit, saveLock, saveWorkspace, scanAssets, selectEntryOutput, serveGallery, sha256, sha256File, shouldPersistSourceUrl, shouldRetry, sliceVfxSheet, slugify, snapshotQualityBaseline, sourceIsStem, sourceOutputPath, specHash, spendByUnit, startHandEdit, styleImagesBase64, submit, summarize, tagAdopted, terrainTileCount, tileFeatureOutputCount, tileVariationCount, tilesCost, toPortablePath, totalSpend, unzoomFile, upsert, validateCostEstimate, validateMedia, validateWorkspace, verifyArtifactBundle, verifyRecipe, vfxOutputPaths, vfxRecipeSha256, withArtifactManifest, workspaceClaims, workspaceStatus, writeArtifactBundle, writeManagedArtifactBundle };