pixelkiln 0.44.0 → 0.46.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.
@@ -172,6 +172,7 @@ regenerating the parent makes the child stale.
172
172
  | base, `mode: standard` | create-character-with-4/8-directions | 1 |
173
173
  | base, `mode: v3` | create-character-v3 | 1 + ceil(size² × 8 / 65536): 2 at 64px, 3 at 128px |
174
174
  | base, `mode: pro` | create-character-pro | 20–40 by canvas |
175
+ | base, `mode: pro-flash` | create-character-pro-flash | image tier (5 to 96px, 6 to 208px, 9 above) + ceil(size² × 8 / 65536): 6 at 64px, 8 at 128px, 17 at 256px; rotations only from a `reference` |
175
176
  | state | create-character-state | 20–40 by canvas |
176
177
  | animation with a `template` | animate-character | 1 |
177
178
  | animation from text (v3) | animate-character | ceil(size² × frames / 65536): 1 at 64px, 2 at 128px |
package/docs/MANIFEST.md CHANGED
@@ -59,6 +59,8 @@ not merely a label edit.
59
59
  | `mirror` | string | Another asset of the same style flipped left to right, made locally at no cost. See [Mirrors](#mirrors). |
60
60
  | `proportions` | preset or object | `character` styles: this base's proportions, over the style's. |
61
61
  | `reference` | string or object | `character` styles, bases: the character's own south-facing sprite (or `{ "south": ..., "east": ... }`), which PixelLab rotates instead of drawing from the prompt. See [Characters](#characters). |
62
+ | `concept` | string | `character` styles, `pro` bases: a manifest-relative concept image (up to 1024px) the design is seeded from. |
63
+ | `styleCharacter` | string | `character` styles, `pro` bases: this base's style anchor, over the style's. |
62
64
  | `providerInputs` | JSON scalar/sequence map, `{}` | Named per-asset inputs consumed by the active provider. ComfyUI accepts scalars and, for `frames`, one ordered 2–64 value sequence. Image bindings upload PNG/JPEG inputs. |
63
65
  | `styles` | string array, `[]` | Restrict the asset to named styles; empty means every style. |
64
66
  | `promptByStyle` | string map, `{}` | Replace only the asset prompt for a named style. |
@@ -99,13 +101,15 @@ constant across the set.
99
101
  | `tileView` | enum | `top-down`, `high top-down`, `low top-down`, or `side`. |
100
102
  | `tileFeature` | enum | Connectable `roads`, `tileset`, or `building` structural set. |
101
103
  | `outlineMode` | enum | `outline` or `segmentation`; segmentation avoids quilted ground seams. |
102
- | `mode` | `standard` | `character` only. `standard`, `v3`, or `pro`; see [Characters](#characters). |
103
- | `directions` | `8` | `character` only. `4` or `8`; `v3` and `pro` always draw 8. |
104
- | `template` | `mannequin` | `character` only. Body template: `mannequin`, or `bear`, `cat`, `dog`, `horse`, `lion`. |
104
+ | `mode` | `standard` | `character` only. `standard`, `v3`, `pro`, or `pro-flash`; see [Characters](#characters). |
105
+ | `directions` | `8` | `character` only. `4` or `8`; every engine but `standard` draws 8. |
106
+ | `template` | `mannequin` | `character` only. Body template: `mannequin`, or `bear`, `cat`, `dog`, `horse`, `lion`; `custom` for `pro-flash`. |
105
107
  | `proportions` | | `character` only, `standard` humanoid bases. A preset (`default`, `chibi`, `cartoon`, `stylized`, `realistic_male`, `realistic_female`, `heroic`) or multipliers `{ headSize, armsLength, legsLength, shoulderWidth, hipWidth }`, each 0.5 to 2. An asset may override it. |
106
108
  | `textGuidanceScale` | `8` | `character` only. How closely a `standard` base and a template loop follow their text, 1 to 20. |
107
109
  | `isometric` | `false` | `character` only. Draw `standard` bases and every loop in isometric view. |
108
110
  | `enhancePrompt` | `false` | `character` only, `v3` bases. Let PixelLab expand the prompt into a fuller one before drawing. |
111
+ | `styleCharacter` | | `character` only, `pro` bases. The asset id of a generated 8-direction character in this style whose look bases drawn from text or a concept follow. An asset may override it. |
112
+ | `styleTraits` | all true | `character` only, `pro-flash` bases with a style image. `{ palette, outline, detail, shading }` booleans: which traits the style image lends. |
109
113
  | `mount` | object | Stable-cell sheet placement; documented below. |
110
114
  | `quality` | object | Optional native-grid, final-palette, and human-approval contract; documented below. |
111
115
  | `tags` | string array, `[]` | Tags inherited by every generated provider object in the style. |
@@ -525,6 +529,8 @@ credentials, cost semantics, recovery, and the paid live-test boundary.
525
529
  | `mirror` | string | Another asset of this style, flipped left to right. No prompt, no provider, no cost. See [Mirrors](#mirrors). |
526
530
  | `proportions` | preset or object | This base's body proportions, over the style's. `standard` humanoid bases only. |
527
531
  | `reference` | string or object | The character's own sprite(s) for PixelLab to rotate. Bases only. |
532
+ | `concept` | string | A concept image a `pro` base is designed from. Bases only. |
533
+ | `styleCharacter` | string | The character in this style a `pro` base takes its look from, over the style's. |
528
534
 
529
535
  ## Characters
530
536
 
@@ -568,10 +574,14 @@ A base is a prompt, wrapped in the style's prefix and suffix like any other
568
574
  asset, that PixelLab draws facing 4 or 8 directions. `mode` picks the
569
575
  engine: `standard` (1 generation, the skeleton template, `outline`,
570
576
  `shading`, and `detail` as soft guidance, and `palette` sent as a colour
571
- reference), `v3` (2 to 9 by size, the highest quality, up to 256px), or
572
- `pro` (20 to 40 by size). `size` is the character's size; `view` is `low
573
- top-down` (the default), `high top-down`, or `side`; `template` picks the
574
- body. Each direction lands as `<asset>-<direction>.png`, south first.
577
+ reference), `v3` (2 to 9 by size, the highest quality, up to 256px),
578
+ `pro` (20 to 40 by size), or `pro-flash` (6 to 17 by size: PixelLab's
579
+ newest image model draws the south sprite and v3 rotates it; sizes are
580
+ multiples of 4 up to 256, `template` may be `custom`, and a `reference`
581
+ pays for the rotations only, 1 at 64px). `size` is the character's size;
582
+ `view` is `low top-down` (the default), `high top-down`, or `side`;
583
+ `template` picks the body. Each direction lands as
584
+ `<asset>-<direction>.png`, south first.
575
585
  Standard mode draws on a canvas 28px larger than `size`, 14px of room on
576
586
  each side for animation (a 64px character comes back as 92px files, a
577
587
  104px one as 132px); the lock records the size asked for, and the files
@@ -608,11 +618,31 @@ is read again at submit time and refused if it changed since `plan`.
608
618
  States, animations, and mirrors take their look from their parent and
609
619
  cannot carry a reference.
610
620
 
611
- Style images on a `character` style are a pro-only input: one image of up
612
- to 168px that anchors the look of a `pro` base drawn from text (PixelLab's
613
- `create_with_style`). `standard` and `v3` have no such slot and refuse
614
- them; a pro base with a `reference` refuses them too, since the rotate
615
- method has one image slot and it is the character.
621
+ The pro engine has two more ways in. `concept` on a base names a concept
622
+ image (a painting, a photo, a sketch, up to 1024px) that seeds the design
623
+ in place of the prompt alone (PixelLab's `create_from_concept`); the
624
+ prompt still guides it. `styleCharacter`, on the style or a base, names a
625
+ generated 8-direction character in the same style whose look the base
626
+ follows (`style_character_id`); its south sprite becomes the style image
627
+ unless a style image is also given. The anchor is a dependency like a
628
+ loop's character: the base is `blocked` until the anchor is downloaded and
629
+ current, `gen` runs it in the wave after the anchor lands, and a
630
+ regenerated anchor makes every base drawn in its style `stale`. The anchor
631
+ itself ignores the setting, so a style can name its own first character.
632
+ PixelLab wants the base at least as large as the anchor's visible sprite
633
+ and fails the job fast otherwise. A base rotating its own `reference`
634
+ takes neither: the rotate method has one image slot and it is the
635
+ character.
636
+
637
+ Style images on a `character` style are a pro input: one image of up to
638
+ 168px that anchors the look of a `pro` base drawn from text or a concept
639
+ (`create_with_style` and `create_from_concept` both take it), or one of
640
+ up to 256px that a `pro-flash` base copies its look from, no larger than
641
+ the character's `size` on either side (crop it to its subject), with
642
+ `styleTraits` (`palette`, `outline`, `detail`, `shading`, each on by
643
+ default) choosing which traits it lends. `standard` and `v3` have no such
644
+ slot and refuse them; a base with a `reference` refuses them too, in
645
+ either engine.
616
646
 
617
647
  A state is a text edit of an existing character, `state.of`, applied to
618
648
  every direction at once: a pose, an outfit, a held object. The prompt is
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelkiln",
3
- "version": "0.44.0",
3
+ "version": "0.46.0",
4
4
  "description": "Manifest-driven pixel-art generation, review, recovery, and packaging with deterministic provenance.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -137,7 +137,8 @@
137
137
  "enum": [
138
138
  "standard",
139
139
  "v3",
140
- "pro"
140
+ "pro",
141
+ "pro-flash"
141
142
  ]
142
143
  },
143
144
  "directions": {
@@ -151,6 +152,24 @@
151
152
  "type": "string",
152
153
  "minLength": 1
153
154
  },
155
+ "styleTraits": {
156
+ "type": "object",
157
+ "properties": {
158
+ "palette": {
159
+ "type": "boolean"
160
+ },
161
+ "outline": {
162
+ "type": "boolean"
163
+ },
164
+ "detail": {
165
+ "type": "boolean"
166
+ },
167
+ "shading": {
168
+ "type": "boolean"
169
+ }
170
+ },
171
+ "additionalProperties": false
172
+ },
154
173
  "proportions": {
155
174
  "anyOf": [
156
175
  {
@@ -209,6 +228,10 @@
209
228
  "enhancePrompt": {
210
229
  "type": "boolean"
211
230
  },
231
+ "styleCharacter": {
232
+ "type": "string",
233
+ "minLength": 1
234
+ },
212
235
  "seed": {
213
236
  "type": "integer"
214
237
  },
@@ -433,7 +456,8 @@
433
456
  "enum": [
434
457
  "standard",
435
458
  "v3",
436
- "pro"
459
+ "pro",
460
+ "pro-flash"
437
461
  ]
438
462
  },
439
463
  "directions": {
@@ -447,6 +471,24 @@
447
471
  "type": "string",
448
472
  "minLength": 1
449
473
  },
474
+ "styleTraits": {
475
+ "type": "object",
476
+ "properties": {
477
+ "palette": {
478
+ "type": "boolean"
479
+ },
480
+ "outline": {
481
+ "type": "boolean"
482
+ },
483
+ "detail": {
484
+ "type": "boolean"
485
+ },
486
+ "shading": {
487
+ "type": "boolean"
488
+ }
489
+ },
490
+ "additionalProperties": false
491
+ },
450
492
  "proportions": {
451
493
  "anyOf": [
452
494
  {
@@ -505,6 +547,10 @@
505
547
  "enhancePrompt": {
506
548
  "type": "boolean"
507
549
  },
550
+ "styleCharacter": {
551
+ "type": "string",
552
+ "minLength": 1
553
+ },
508
554
  "seed": {
509
555
  "type": "integer"
510
556
  },
@@ -902,6 +948,14 @@
902
948
  }
903
949
  ]
904
950
  },
951
+ "concept": {
952
+ "type": "string",
953
+ "minLength": 1
954
+ },
955
+ "styleCharacter": {
956
+ "type": "string",
957
+ "minLength": 1
958
+ },
905
959
  "mirror": {
906
960
  "type": "string",
907
961
  "minLength": 1
@@ -212,7 +212,8 @@
212
212
  "enum": [
213
213
  "standard",
214
214
  "v3",
215
- "pro"
215
+ "pro",
216
+ "pro-flash"
216
217
  ]
217
218
  },
218
219
  "directions": {
@@ -226,6 +227,24 @@
226
227
  "type": "string",
227
228
  "minLength": 1
228
229
  },
230
+ "styleTraits": {
231
+ "type": "object",
232
+ "properties": {
233
+ "palette": {
234
+ "type": "boolean"
235
+ },
236
+ "outline": {
237
+ "type": "boolean"
238
+ },
239
+ "detail": {
240
+ "type": "boolean"
241
+ },
242
+ "shading": {
243
+ "type": "boolean"
244
+ }
245
+ },
246
+ "additionalProperties": false
247
+ },
229
248
  "proportions": {
230
249
  "anyOf": [
231
250
  {
@@ -284,6 +303,10 @@
284
303
  "enhancePrompt": {
285
304
  "type": "boolean"
286
305
  },
306
+ "styleCharacter": {
307
+ "type": "string",
308
+ "minLength": 1
309
+ },
287
310
  "seed": {
288
311
  "type": "integer"
289
312
  },
@@ -22,12 +22,15 @@ providers, or before any PixelLab account operation.
22
22
  | `pixflux` | Closed palettes or full-bleed backgrounds | 1 generation |
23
23
  | `1dir` | Reference-guided work or several candidates | 20–40 generations |
24
24
  | `tiles` | Ground variations or connected structures | 20–40 generations |
25
- | `character` | A character in 4 or 8 directions, its poses (`state`), and its loops (`animation`) | 1 per base, 20–40 per pose, 1 per template loop per direction |
25
+ | `character` | A character in 4 or 8 directions, its poses (`state`), and its loops (`animation`) | 1 per standard base, 6 per pro-flash base at 64px (1 from a `reference`), 20–40 per pose, 1 per template loop per direction |
26
26
 
27
27
  A base can start from the author's own south-facing sprite (`reference` on
28
28
  the asset; standard wants it at the style's size, v3 up to 256px, pro up
29
29
  to 168px), and a standard humanoid base takes `proportions` (`chibi`,
30
- `heroic`, or multipliers) on the style or the asset.
30
+ `heroic`, or multipliers) on the style or the asset. A pro base can be
31
+ designed from a `concept` image (up to 1024px) and follow the look of
32
+ another generated character in the style (`styleCharacter`), which makes
33
+ that character a dependency the way a loop's parent is.
31
34
 
32
35
  A v3 loop can start from a pose image (`startFrame`) or interpolate to one
33
36
  (`endFrame`), take a `subject` when the character's own description would