pixelkiln 0.52.0 → 0.53.1
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/cli.js +40 -4
- package/dist/cli.js.map +1 -1
- package/dist/client/gallery.js +73 -2
- package/dist/index.cjs +42 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +51 -1
- package/dist/index.d.ts +51 -1
- package/dist/index.js +41 -4
- package/dist/index.js.map +1 -1
- package/docs/REVISIONS.md +10 -0
- package/docs/TILES.md +41 -0
- package/package.json +1 -1
- package/skills/pixelkiln/references/pixellab-fidelity.md +4 -4
- package/skills/pixelkiln/references/revisions.md +4 -0
package/docs/REVISIONS.md
CHANGED
|
@@ -51,6 +51,16 @@ change texture and lighting while retaining more of the source. Higher values
|
|
|
51
51
|
permit larger changes and make silhouette drift more likely. Strength is an
|
|
52
52
|
input to the provider workflow, not a cross-model quality guarantee.
|
|
53
53
|
|
|
54
|
+
**From the gallery** (`pixelkiln gallery --edit`): open a completed or
|
|
55
|
+
committed asset's drawer and use "+ New revision" under "Revisions from this
|
|
56
|
+
asset" to create an `image-to-image` child of it — an edit instruction, an
|
|
57
|
+
optional strength, and a new asset id are all it asks for. The button only
|
|
58
|
+
appears once the parent has usable pixels (committed `source`, a current
|
|
59
|
+
downloaded generation, or a current approved quality output); the plan still
|
|
60
|
+
reports `blocked` with the real reason if that turns out wrong once the asset
|
|
61
|
+
exists. `inpaint` needs a mask upload the gallery does not offer yet, so it
|
|
62
|
+
still has to be added by hand.
|
|
63
|
+
|
|
54
64
|
## Inpainting
|
|
55
65
|
|
|
56
66
|
An inpaint revision also declares a manifest-relative mask:
|
package/docs/TILES.md
CHANGED
|
@@ -35,6 +35,44 @@ Provider keys can contain gaps when a set includes stamp-only images. Output
|
|
|
35
35
|
roles therefore retain the original numeric key (`tile-07`) rather than being
|
|
36
36
|
renumbered by array position.
|
|
37
37
|
|
|
38
|
+
### The `terrain` generator's shape
|
|
39
|
+
|
|
40
|
+
`terrain` (`/create-tileset`, [`docs/GENERATORS.md`](GENERATORS.md)) is a
|
|
41
|
+
different PixelLab endpoint from `tiles`' `tileFeature: "tileset"` above, and
|
|
42
|
+
its response carries no `tile_rules` bitmask at all. Instead each tile names
|
|
43
|
+
which terrain occupies its four corners directly:
|
|
44
|
+
|
|
45
|
+
```jsonc
|
|
46
|
+
{
|
|
47
|
+
"providerMetadata": {
|
|
48
|
+
"pixellab": {
|
|
49
|
+
"terrainTypes": ["lower", "upper"],
|
|
50
|
+
"terrainTiles": [
|
|
51
|
+
{ "role": "tile-00-none", "corners": { "NW": "upper", "NE": "upper", "SW": "upper", "SE": "upper" } },
|
|
52
|
+
{ "role": "tile-01-nw-ne-sw-se", "corners": { "NW": "lower", "NE": "lower", "SW": "lower", "SE": "lower" } }
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`normalizeTerrainTiles()` (`src/pipeline/tileset-export.ts`) turns this into
|
|
60
|
+
the same `NormalizedTileRules` shape `tileRules` would have produced directly:
|
|
61
|
+
`ruleType: "corner"`, `arity: 4`, `terrains` from `terrainTypes`, and a mask
|
|
62
|
+
per tile built from its corners with the same NW/NE/SW/SE = 3/2/1/0 bit order
|
|
63
|
+
described under Tiled below (a corner matching `terrains[0]` sets its bit).
|
|
64
|
+
`exportTileset()` tries `tileRules` first and falls back to this shape, so
|
|
65
|
+
Tiled and Godot export a terrain asset's real Wang placement data rather than
|
|
66
|
+
a plain, rule-less atlas. A tile's role carries a name slug rather than a
|
|
67
|
+
parseable numeric suffix (`tile-01-nw-ne-sw-se`, not `tile-01`), so its
|
|
68
|
+
`sourceIndex` falls back to array position instead of being parsed from the
|
|
69
|
+
role — correct here because `terrainTiles` and the output list are pushed in
|
|
70
|
+
the same loop, but worth knowing if either is ever reordered independently.
|
|
71
|
+
|
|
72
|
+
A tile whose corner is `"transition"` (the extra ring PixelLab adds at
|
|
73
|
+
`terrainTransitionSize: 1`) has no bit of its own in a two-terrain corner
|
|
74
|
+
mask; it is folded into whichever of `terrains[0]`/`terrains[1]` it isn't.
|
|
75
|
+
|
|
38
76
|
## Command
|
|
39
77
|
|
|
40
78
|
```bash
|
|
@@ -122,4 +160,7 @@ counts, speeds, and loop flags it sees.
|
|
|
122
160
|
- `outline` and building-kit images absent from the rule map are stamp-only.
|
|
123
161
|
Generic export retains them; engine exporters reject a rule family whose
|
|
124
162
|
placement semantics would have to be invented.
|
|
163
|
+
- A `terrain` asset's `"transition"` corners collapse into a two-color mask
|
|
164
|
+
(see above); the cliff-tier 25-tile set exports, but its middle transition
|
|
165
|
+
ring is not distinguished from the two named terrains in Tiled/Godot.
|
|
125
166
|
- Export never changes source PNGs or the lockfile.
|
package/package.json
CHANGED
|
@@ -177,10 +177,10 @@ anything PixelLab publishes — use these as the actual target, not a vibe:
|
|
|
177
177
|
|
|
178
178
|
## What this adapter still has no fidelity lever for
|
|
179
179
|
|
|
180
|
-
|
|
181
|
-
(`generate-image-v2`, PixelLab's "Pro" image tier beyond `pixflux`), a
|
|
182
|
-
dedicated post-generation "pixel correction" cleanup pass (strength-slider
|
|
180
|
+
A dedicated post-generation "pixel correction" cleanup pass (strength-slider
|
|
183
181
|
noise/detail reduction, distinct from `image-to-pixelart`), and
|
|
184
182
|
`reduce-colors` (arbitrary post-hoc palette quantization with dithering) are
|
|
185
|
-
real PixelLab capabilities with no equivalent in this adapter today.
|
|
183
|
+
real PixelLab capabilities with no equivalent in this adapter today. Pro-tier
|
|
184
|
+
full-bleed background generation at custom aspect ratios (`generate-image-v2`)
|
|
185
|
+
is closed as the `imagePro` generator (`pixellab.md`). See
|
|
186
186
|
[pixellab-roadmap.md](./pixellab-roadmap.md).
|
|
@@ -18,6 +18,10 @@ Read this reference when an asset declares `revision`.
|
|
|
18
18
|
changed input must stop the run before provider work begins.
|
|
19
19
|
- In candidate review, compare the source beside every output. Reject
|
|
20
20
|
silhouette or layout drift before post-processing.
|
|
21
|
+
- `pixelkiln gallery --edit` can create an `image-to-image` revision directly
|
|
22
|
+
from a parent's drawer ("+ New revision" under "Revisions from this
|
|
23
|
+
asset"), once the parent has usable pixels; it does not offer `inpaint`
|
|
24
|
+
(needs a mask upload) or `outpaint`, so add those by hand.
|
|
21
25
|
- ComfyUI is the only built-in revision adapter. Its workflow needs
|
|
22
26
|
`sourceImage`; inpaint also needs `maskImage`; declared strength needs a
|
|
23
27
|
`strength` binding.
|