pixelkiln 0.30.0 → 0.32.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/CLI.md CHANGED
@@ -142,7 +142,10 @@ provider result should take ownership. `gen --force` applies the same rule.
142
142
 
143
143
  Repair missing generated files without buying new generations. It prefers
144
144
  validated local content-addressed cache bytes and otherwise reuses provider
145
- references. It never replaces a destination whose bytes disagree with the lock.
145
+ references. It never replaces a destination whose bytes disagree with the lock
146
+ unless `--force` says to: `restore --force` puts the recorded bytes back over
147
+ a file that was changed after download (an `orphaned` plan entry), discarding
148
+ that change — copy it aside, or declare it with [`edit`](#edit), first.
146
149
 
147
150
  The paid-work states have one safe next step:
148
151
 
@@ -344,6 +347,13 @@ pixelkiln gallery --edit
344
347
  pixelkiln gallery --edit --workspace pixelkiln.workspace.json
345
348
  ```
346
349
 
350
+ An `orphaned` record — its file gone, or changed after download — offers
351
+ **Restore** (the recorded bytes back from the cache or the provider, no cost)
352
+ and, for a changed file, **Regenerate**; both replacements say what they
353
+ discard and ask first, and the way to keep the change is **Edit by hand** or
354
+ **Edit in browser**, which copies it beside the record. An `untracked` file
355
+ can be replaced by a generation the same way.
356
+
347
357
  `--budget <n|provider=n>` enables generation from the page under that session
348
358
  ceiling. It is the same `--budget` `gen` takes: one unkeyed amount when a run
349
359
  involves a single provider, or one keyed amount per provider for a mixed run,
@@ -405,10 +415,13 @@ that click or `tools install editor`. **Save to project** (or ⌘S / Ctrl+S in
405
415
  the editor) hands the flattened image back to the page, which writes the same
406
416
  `edits/` file `pixelkiln edit` would and declares it; the sheet stays open for
407
417
  the next change, **Save & close** does both, and closing with unsaved changes
408
- asks first. A set opens as one Pixelorama project with a frame per member —
409
- an animation at its fps, a tile set as one frame per tile — and saving writes
410
- every member back under its role; a set that comes back with a different
411
- number of frames is refused rather than guessed at. A browser save also keeps Pixelorama's layered `.pxo`
418
+ asks first. Opening an existing edit also lays the generated art on a locked
419
+ **Generated (PixelKiln reference)** layer at 50% — an onion skin for seeing
420
+ what changed — that the sheet's **show generated** box hides and shows and
421
+ that a save never flattens in. A set opens as one Pixelorama project with a
422
+ frame per member — an animation at its fps, a tile set as one frame per tile —
423
+ and saving writes every member back under its role; a set that comes back with
424
+ a different number of frames is refused rather than guessed at. A browser save also keeps Pixelorama's layered `.pxo`
412
425
  beside the edit — the next **Edit in browser** hands it back, so layers and
413
426
  frames come back as they were (the flattened PNG is used only if the file
414
427
  cannot be read, and the sheet says which) — and writes `<edit>.edit.json`
@@ -196,7 +196,8 @@ With `gallery --edit`, a record's **Hand edit** section offers the same
196
196
  [Pixelorama](https://pixelorama.org) build the gallery serves itself, opened
197
197
  in a sheet with the sprite and the style's palette loaded. Save writes the edit
198
198
  back, keeps the layered `.pxo` beside it for the next time, and records which
199
- generation it was based on. A ComfyUI frame set or a PixelLab tile set opens as
199
+ generation it was based on; reopening the edit shows the generated art through
200
+ it at 50% on a locked reference layer, so what changed is always in view. A ComfyUI frame set or a PixelLab tile set opens as
200
201
  one project with a frame per member and saves every member back. The 46 MB
201
202
  editor is fetched once per PixelKiln release into a user cache, on the first
202
203
  click or with `tools install editor`; see [`tools`](CLI.md#tools).
package/docs/RECOVERY.md CHANGED
@@ -13,7 +13,9 @@ pixelkiln restore --style neon --only anvil
13
13
 
14
14
  `restore` repairs a missing lock output from validated content-cache bytes or a
15
15
  durable provider reference. It does not submit generation and refuses to
16
- replace a file whose current bytes differ from the recorded hash.
16
+ replace a file whose current bytes differ from the recorded hash; `--force`
17
+ overrides that for a file changed after download, and the gallery's
18
+ **Restore** button on an `orphaned` record does the same after asking.
17
19
 
18
20
  Generation and download failures are separate lock states. A CDN failure after
19
21
  successful generation becomes `download-failed`; the next `fetch` or `restore`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelkiln",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "description": "Manifest-driven pixel-art generation, review, recovery, and packaging with deterministic provenance.",
5
5
  "type": "module",
6
6
  "sideEffects": false,