pixelkiln 0.46.0 → 0.47.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/docs/PIXELLAB.md CHANGED
@@ -31,7 +31,7 @@ makes the choice clear:
31
31
  "props": {
32
32
  "generator": "map",
33
33
  "outDir": "assets/generated/props",
34
- "promptSuffix": ", isolated pixel-art game asset"
34
+ "promptSuffix": "isolated pixel-art game asset"
35
35
  }
36
36
  },
37
37
  "assets": {
@@ -124,7 +124,10 @@ packaging.
124
124
  ## What is outside this adapter
125
125
 
126
126
  PixelLab offers more than PixelKiln currently exposes. Portraits, outfit
127
- transfer, lip-sync, skeleton-driven animation, and Pro Flash are not part of
128
- this adapter. Characters, their states, and their animations are the
129
- `character` generator; see [Characters](./MANIFEST.md#characters). Use the
130
- [manifest reference](./MANIFEST.md) for the fields PixelKiln supports today.
127
+ transfer, lip-sync, and skeleton-driven animation are not part of this
128
+ adapter. Characters, their states, and their animations are the `character`
129
+ generator, with all four creation engines (standard, v3, pro, pro-flash),
130
+ reference sprites, concept images, style anchors, mirrors, and every
131
+ `animate-character` control; see [Characters](./CHARACTERS.md). Use
132
+ the [manifest reference](./MANIFEST.md) for the fields PixelKiln supports
133
+ today.
package/docs/README.md CHANGED
@@ -14,7 +14,7 @@ provider you are using. These Markdown files also render at
14
14
  | [Set up ComfyUI](./COMFYUI.md) | Bind local still, revision, and atomic frame-set workflows with an explicit quality boundary. |
15
15
  | [Set up Scenario](./SCENARIO.md) | Configure hosted models, two-part credentials, CU ceilings, and durable downloads. |
16
16
  | [CLI reference](./CLI.md) | Every command and flag, including `gallery`, `edit`, and `tools`; offline and provider requirements; JSON output; exit codes. |
17
- | [Manifest reference](./MANIFEST.md) | Every style and asset field, quality profiles, generator constraints, mounting, and schema validation. |
17
+ | [Manifest reference](./MANIFEST.md) | Every shared style and asset field, palette enforcement, quality profiles, revisions, mounting, and schema validation. |
18
18
  | [Mixed-provider projects](./MIXED_PROVIDERS.md) | Route styles to different providers, set separate budget ceilings, and resume safely from one lockfile. |
19
19
  | [Agent workflows](./AGENTS.md) | Install the official skill and pair agent guidance with the deterministic CLI. |
20
20
 
@@ -22,7 +22,8 @@ provider you are using. These Markdown files also render at
22
22
 
23
23
  | Guide | Use it for |
24
24
  |---|---|
25
- | [Generators](./GENERATORS.md) | Choose between still, tile, hosted animation, and ComfyUI frame-set workflows. |
25
+ | [Characters](./CHARACTERS.md) | A base in 4 or 8 directions from a prompt or your own sprite, states, loops, mirrors, the four PixelLab engines, and what each costs. |
26
+ | [Generators](./GENERATORS.md) | Choose between still, tile, character, hosted animation, and ComfyUI frame-set workflows. |
26
27
  | [Environment provider benchmark](./PROVIDER_BENCHMARK.md) | Compare PixelLab, Retro Diffusion, and ComfyUI on buildings, backgrounds, cleanup, and native-grid recovery. |
27
28
  | [Controlled asset revisions](./REVISIONS.md) | Use image-to-image/inpaint parents, masks, approval gates, side-by-side review, and ComfyUI bindings. |
28
29
  | [Derived artifacts](./ARTIFACTS.md) | Refine, pack, mount, and export; provenance, approval gates, ownership, and crash recovery. |
@@ -93,8 +93,102 @@ Useful options under `providerOptions.retrodiffusion` include:
93
93
 
94
94
  RD Pro and user still styles accept up to nine reference images. Advanced
95
95
  animation and tile modes have narrower input rules. PixelKiln validates those
96
- rules during planning. See the [manifest reference](./MANIFEST.md#experimental-retro-diffusion)
97
- for complete examples.
96
+ rules during planning. See [Manifest fields](#manifest-fields) below for complete
97
+ examples.
98
+
99
+ ## Manifest fields
100
+
101
+ Retro Diffusion maps `map` and `pixflux` to still generation, `tiles` to its
102
+ tileset family, and `animation` to GIF or PNG-spritesheet generation. Durable
103
+ sources and lock outputs record `image/png` or `image/gif`, so recovery retains
104
+ the correct extension and validates the correct structure.
105
+
106
+ ```jsonc
107
+ {
108
+ "name": "my-game",
109
+ "provider": "retrodiffusion",
110
+ "styles": {
111
+ "base": {
112
+ "generator": "map",
113
+ "outDir": "assets/generated/base",
114
+ "providerOptions": {
115
+ "retrodiffusion": {
116
+ "promptStyle": "rd_plus__default",
117
+ "numImages": 4,
118
+ "removeBg": true
119
+ }
120
+ }
121
+ }
122
+ },
123
+ "assets": {
124
+ "anvil": { "prompt": "a compact blacksmith anvil" }
125
+ }
126
+ }
127
+ ```
128
+
129
+ `promptStyle` accepts a live Retro Diffusion still-style selector,
130
+ `numImages` accepts 1–16 candidates, and `removeBg` overrides
131
+ `noBackground`. The Retro Diffusion API accepts 16–512px output. Selected
132
+ styles can impose smaller limits. RD Pro and user styles accept up to nine
133
+ reference images. Costs are
134
+ planned in USD and checked again with Retro Diffusion's free authoritative
135
+ quote endpoint before the paid request is sent. Authenticated single-candidate
136
+ RD Fast and RD Plus paths have passed from quote through validated output and
137
+ recovery.
138
+ Multi-candidate, tileset, GIF, and spritesheet paths remain mock-tested, so the
139
+ adapter is still experimental.
140
+
141
+ Additional Retro Diffusion options are:
142
+
143
+ | Option | Meaning |
144
+ |---|---|
145
+ | `framesDuration` | Animation duration: `4`, `6`, `8`, `10`, `12`, or `16`. |
146
+ | `returnSpritesheet` | Return a PNG spritesheet instead of an animated GIF. |
147
+ | `extraPrompt` | Outside texture description for `rd_tile__tileset_advanced`. |
148
+ | `tileX` / `tileY` | Make supported still styles seamless on either axis. |
149
+
150
+ An animation style is declared explicitly:
151
+
152
+ ```jsonc
153
+ {
154
+ "generator": "animation",
155
+ "size": 64,
156
+ "outDir": "assets/generated/animations",
157
+ "providerOptions": {
158
+ "retrodiffusion": {
159
+ "promptStyle": "rd_animation__any_animation",
160
+ "numImages": 1,
161
+ "framesDuration": 8,
162
+ "returnSpritesheet": false
163
+ }
164
+ }
165
+ }
166
+ ```
167
+
168
+ The default output is `<assetId>.gif`; `returnSpritesheet: true` produces
169
+ `<assetId>.png`. Advanced animation styles require exactly one `styleImages`
170
+ input. PixelKiln currently limits animation batches to one so selection never
171
+ loses the output media type.
172
+
173
+ For a Wang-style tileset sheet:
174
+
175
+ ```jsonc
176
+ {
177
+ "generator": "tiles",
178
+ "tileSize": 32,
179
+ "outDir": "assets/generated/tiles",
180
+ "providerOptions": {
181
+ "retrodiffusion": {
182
+ "promptStyle": "rd_tile__tileset",
183
+ "numImages": 1
184
+ }
185
+ }
186
+ }
187
+ ```
188
+
189
+ `rd_tile__tileset_advanced` accepts `extraPrompt` and up to two style images;
190
+ `rd_tile__tile_variation` requires one style image. Provider-specific size and
191
+ input constraints are checked during the free planning phase.
98
192
 
99
193
  ## Current operational limits
100
194
 
package/docs/SCENARIO.md CHANGED
@@ -144,6 +144,52 @@ its own selected `candidateIndex` alongside the chosen durable asset ID.
144
144
  The committed [Scenario live smoke](../benchmarks/provider-scenario-smoke/README.md)
145
145
  contains the manifest, lockfile, measured costs, and selected outputs.
146
146
 
147
+ ## Manifest fields
148
+
149
+ Scenario uses hosted model IDs and requires a conservative Compute Unit ceiling
150
+ for every style:
151
+
152
+ ```jsonc
153
+ {
154
+ "provider": "scenario",
155
+ "styles": {
156
+ "environment": {
157
+ "generator": "map",
158
+ "size": 512,
159
+ "outDir": "assets/generated/environment",
160
+ "providerOptions": {
161
+ "scenario": {
162
+ "modelId": "model_bfl-flux-2-dev",
163
+ "projectId": "project_example",
164
+ "numOutputs": 4,
165
+ "maxComputeUnits": 60,
166
+ "parameters": {
167
+ "guidance": 4,
168
+ "numInferenceSteps": 28
169
+ }
170
+ }
171
+ }
172
+ }
173
+ },
174
+ "assets": {
175
+ "mountain-town": { "prompt": "a fortified mountain town" }
176
+ }
177
+ }
178
+ ```
179
+
180
+ | Option | Meaning |
181
+ |---|---|
182
+ | `modelId` | Required Scenario endpoint model ID. |
183
+ | `maxComputeUnits` | Required positive per-asset offline ceiling and maximum accepted live quote. |
184
+ | `numOutputs` | One to four PNG candidates; defaults to one. |
185
+ | `projectId` | Optional Scenario ownership/routing project. |
186
+ | `parameters` | Additional model-specific JSON inputs. PixelKiln-owned request fields cannot be overridden. |
187
+
188
+ The current adapter supports `map`, dimensions from 128–2048px in multiples of
189
+ 16, optional seed, and no style-image uploads. Every paid request is preceded
190
+ by an identical `dryRun=true` request. See [Set up Scenario](SCENARIO.md) for
191
+ credentials, cost semantics, recovery, and the paid live-test boundary.
192
+
147
193
  ## Review and recovery
148
194
 
149
195
  One output moves directly to download. Two to four outputs enter the normal
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelkiln",
3
- "version": "0.46.0",
3
+ "version": "0.47.0",
4
4
  "description": "Manifest-driven pixel-art generation, review, recovery, and packaging with deterministic provenance.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -40,6 +40,13 @@ hashes.
40
40
  - When an asset declares `revision`, read the revision reference, require its
41
41
  parent gate to pass, and never bypass a `blocked` plan. Generate or approve
42
42
  the parent explicitly before re-planning the child.
43
+ - A character `state`, `animation`, `mirror`, or pro `styleCharacter` is a
44
+ dependent asset the same way: one `pixelkiln gen` runs the waves in order
45
+ and stops when the budget cannot cover the next one. Before declaring the
46
+ east-facing loop of a character, check whether a `mirror` of the west one
47
+ does the job for nothing; before drawing a base from text, ask whether the
48
+ user has a south-facing sprite to `reference` instead (1 generation on
49
+ `pro-flash` at 64px). Mirrors swap handedness.
43
50
  - Treat every ComfyUI output as source material until it passes the native-grid,
44
51
  final-palette, prompt-coverage, and human 1× checks in the ComfyUI reference.
45
52
  A successful PNG or high-confidence grid result is not quality approval.
@@ -39,7 +39,7 @@ mislead, and ask PixelLab to `enhancePrompt`; a template loop takes
39
39
 
40
40
  A loop costs per direction, and a sprite facing east is the sprite facing
41
41
  west flipped. Declare the west loop and make the east one `{ "mirror":
42
- "hero.walk.west" }`: PixelKiln flips it locally for nothing, in the wave
42
+ "bot.walk.west" }`: PixelKiln flips it locally for nothing, in the wave
43
43
  after the source lands. South and north cannot be mirrored. Eight directions
44
44
  of one loop are then 5 generations, not 8.
45
45