pixelkiln 0.40.0 → 0.41.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/cli.js +102 -7
- package/dist/cli.js.map +1 -1
- package/dist/client/gallery.css +1 -0
- package/dist/client/gallery.js +39 -0
- package/dist/index.cjs +114 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +43 -1
- package/dist/index.d.ts +43 -1
- package/dist/index.js +114 -7
- package/dist/index.js.map +1 -1
- package/docs/CLI.md +11 -6
- package/docs/ENDPOINTS.md +7 -0
- package/docs/GENERATORS.md +4 -1
- package/docs/PIXELLAB.md +7 -0
- package/package.json +1 -1
package/docs/CLI.md
CHANGED
|
@@ -177,9 +177,13 @@ changed upstream, after editing it in the provider's own editor, for
|
|
|
177
177
|
example. Unchanged objects are reported as such and left alone; a changed
|
|
178
178
|
object replaces the local file only if that file still hashes to what
|
|
179
179
|
PixelKiln wrote, so a local hand edit is never overwritten without `--force`.
|
|
180
|
-
The lockfile then records the new bytes as this generation.
|
|
181
|
-
|
|
182
|
-
|
|
180
|
+
The lockfile then records the new bytes as this generation. A character's
|
|
181
|
+
rotations and frames are re-resolved from the character itself first, since
|
|
182
|
+
PixelLab stamps their URLs with the last edit time and a cache can keep
|
|
183
|
+
serving an old stamp; a character deleted upstream fails its entry instead
|
|
184
|
+
of silently keeping the old bytes. Objects with no durable reference
|
|
185
|
+
(PixelLab pixflux images, for one) are not eligible; use `pixelkiln edit`
|
|
186
|
+
for those.
|
|
183
187
|
|
|
184
188
|
When a style sets `enforcePalette`, `fetch` snaps each downloaded PNG to the
|
|
185
189
|
style's palette before writing it and records the raw hash and the palette on
|
|
@@ -401,9 +405,10 @@ lock entry is shown at integer zoom on a transparency checkerboard, grouped by
|
|
|
401
405
|
style, with its provenance one click away: the prompt actually sent, provider
|
|
402
406
|
and generator, dimensions, recorded cost, lock status and plan state, submit
|
|
403
407
|
and download times, job and object ids, every output with its path, SHA-256,
|
|
404
|
-
size, and on-disk status, revision lineage,
|
|
405
|
-
|
|
406
|
-
and raw
|
|
408
|
+
size, and on-disk status, revision lineage, a character's parent and the
|
|
409
|
+
states and loops that hang off it, the quality record (palette, native-grid
|
|
410
|
+
detection, audit, named approval), the manifest asset as declared, and raw
|
|
411
|
+
provider metadata.
|
|
407
412
|
|
|
408
413
|
```bash
|
|
409
414
|
pixelkiln gallery
|
package/docs/ENDPOINTS.md
CHANGED
|
@@ -289,6 +289,13 @@ once a 1-generation re-roll exists: forty re-rolls cost one `1dir` call.
|
|
|
289
289
|
- `pixflux`/`pixen`/`bitforge` results are **not account objects** at all.
|
|
290
290
|
Bytes come back inline and are never listed. `adopt` and `salvage` cannot see
|
|
291
291
|
them, and they cannot be tagged.
|
|
292
|
+
- Character rotation and frame URLs live at a stable path under
|
|
293
|
+
`backblaze.pixellab.ai/file/pixellab-characters/...` but carry
|
|
294
|
+
`?t=<updated_at as epoch seconds>`, and the response is
|
|
295
|
+
`cache-control: public, max-age=31536000`. The path serves the current
|
|
296
|
+
bytes with any `t` (checked September 2026), but a cache between you and
|
|
297
|
+
the bucket may not, so `fetch --refresh` reads `GET /characters/{id}` for
|
|
298
|
+
the current stamp before comparing. Object URLs carry no stamp.
|
|
292
299
|
|
|
293
300
|
---
|
|
294
301
|
|
package/docs/GENERATORS.md
CHANGED
|
@@ -182,7 +182,10 @@ canvas lands in. Every direction of a base or state is one file
|
|
|
182
182
|
(`<asset>-south.png`, ...); an animation's frames are `<asset>-frame-00.png`
|
|
183
183
|
onwards, with the resting pose as frame 0 unless `keepFirstFrame` is off.
|
|
184
184
|
`enforcePalette` snaps all of them. `pack --format godot` writes each base
|
|
185
|
-
direction as a still and each animation as a looping set.
|
|
185
|
+
direction as a still and each animation as a looping set. The gallery
|
|
186
|
+
labels a state or loop with its parent ("state of hero", "loop of
|
|
187
|
+
hero.sit, east"), links parent and children in the record, and counts the
|
|
188
|
+
family in the style header ("3 characters, 4 states, 6 loops"). See
|
|
186
189
|
[Characters](./MANIFEST.md#characters).
|
|
187
190
|
|
|
188
191
|
## Style variants
|
package/docs/PIXELLAB.md
CHANGED
|
@@ -108,6 +108,13 @@ new bytes as this generation. A `pixflux` image is returned inline and keeps no
|
|
|
108
108
|
account object, so it cannot be edited upstream; use `pixelkiln edit` to touch
|
|
109
109
|
it up locally.
|
|
110
110
|
|
|
111
|
+
A character edited in PixelLab's character editor comes back the same way.
|
|
112
|
+
Its rotation and frame URLs carry the last edit time (`?t=`), so a refresh
|
|
113
|
+
asks `GET /characters/{id}` for the current URLs before comparing bytes
|
|
114
|
+
rather than trusting the ones the lockfile recorded, and records the new
|
|
115
|
+
URLs. A refreshed base makes its states and animations stale, because their
|
|
116
|
+
identity hashes the base's south file; `pixelkiln gen` regenerates them.
|
|
117
|
+
|
|
111
118
|
PixelLab's official
|
|
112
119
|
[MCP server](https://github.com/pixellab-code/pixellab-mcp) gives agents direct
|
|
113
120
|
access to PixelLab generation tools. It complements PixelKiln: the MCP handles
|