pixelkiln 0.29.0 → 0.31.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/README.md CHANGED
@@ -25,19 +25,12 @@ Styles may use different providers with separate budget ceilings. The
25
25
  [provider comparison](./PROVIDERS.md) lists the tested limits and best routes.
26
26
  `FakeProvider` covers the shared contract in automated tests.
27
27
 
28
- ## Release
29
-
30
- PixelKiln is published on npm. Merges to `main` use Semantic Release and npm
31
- Trusted Publishing, with signed provenance and no long-lived npm token.
32
-
33
28
  ## Why PixelKiln
34
29
 
35
30
  Image generators leave two piles behind: remote jobs that cost money and local
36
31
  files that no longer explain where they came from. Prompts drift. Failed
37
32
  downloads look like failed generations. Teams rerun whole sets because they
38
- cannot tell which asset changed.
39
-
40
- PixelKiln keeps the missing record:
33
+ cannot tell which asset changed. PixelKiln keeps the missing record:
41
34
 
42
35
  - a committed manifest defines assets, styles, generators, budgets, and output;
43
36
  - a committed lockfile maps each style/asset to paid provider work and exact
@@ -50,12 +43,16 @@ PixelKiln keeps the missing record:
50
43
  - derived artifact bundles retain source provenance and recover across ordinary
51
44
  write failures or abrupt process termination.
52
45
 
46
+ Released on npm through Semantic Release and npm Trusted Publishing, with signed
47
+ provenance and no long-lived npm token.
48
+
53
49
  ## Capabilities
54
50
 
55
51
  | Workflow | What PixelKiln provides |
56
52
  |---|---|
57
53
  | Plan and budget | Offline manifest/lock/disk diff, provider-grouped estimates, keyed mixed-provider budget ceilings, JSON/CI gate. |
58
- | Generate and review | Resumable submit/poll/pick/fetch pipeline, exact next-step hints, candidate or atomic frame-set review, and a read-only provenance gallery. |
54
+ | Generate and review | Resumable submit/poll/pick/fetch pipeline, exact next-step hints, candidate or atomic frame-set review, and a provenance gallery that can edit intent, generate under a budget, and compare records. |
55
+ | Hand edits | Touch-ups in your own editor or a pinned in-browser Pixelorama, kept beside the generated art with the generation still the record; frame and tile sets member by member. |
59
56
  | Controlled inputs | Hashed image-to-image/inpaint lineage, fail-closed parent approval, source-versus-candidate review, and content-addressed per-asset ComfyUI bindings. |
60
57
  | Existing-art onboarding | Manifest scaffolding, exact-hash account adoption, and prompt recovery. |
61
58
  | Recovery | Safe stale-output replacement, validated caches, durable references, and resumable paid jobs. |
@@ -77,11 +74,20 @@ Left/Right inspects alternatives, Enter or 1–9 selects, 0 leaves a row
77
74
  unresolved, and closing without **Apply selections** applies nothing
78
75
  ([CLI reference](docs/CLI.md#pick)). [`pixelkiln gallery`](docs/CLI.md#gallery)
79
76
  is its companion: every generation at integer zoom with its prompt, cost, hashes,
80
- lineage, and quality record; `--edit` changes prompts, adds assets, and serves a pinned,
81
- hash-verified [Pixelorama](docs/CLI.md#tools) build; `--budget` generates and reviews from the page.
77
+ lineage, and quality record, side-by-side comparison, and a `--workspace` view
78
+ across projects. `--edit` changes prompts, sizes, tags, and style fields (with the
79
+ blast radius shown first) and adds assets; `--budget` generates, regenerates, and
80
+ reviews from the page under that ceiling.
82
81
 
83
82
  ![PixelKiln generation gallery UI](./website/public/gallery-ui-showcase.jpg)
84
83
 
84
+ Hand edits live beside the art, not in place of the record. [`pixelkiln edit`](docs/CLI.md#edit)
85
+ opens a copy in your own editor; with `--edit` the gallery does the same, or opens
86
+ it in a pinned, hash-verified [Pixelorama](docs/CLI.md#tools) build right in the page
87
+ and saves it back — layers kept, frame and tile sets one file per member.
88
+
89
+ ![PixelKiln in-browser editor](./website/public/gallery-editor-showcase.jpg)
90
+
85
91
  ## Install
86
92
 
87
93
  Requires Node.js 22 or newer; use the latest Node.js 24 LTS for development.
@@ -91,9 +97,8 @@ npm install --save-dev pixelkiln
91
97
  npx pixelkiln --help
92
98
  ```
93
99
 
94
- For library use, both `import("pixelkiln")` and `require("pixelkiln")` are
95
- supported. Contributors can still run `npm run pixelkiln -- …` from a checkout
96
- to execute the TypeScript source directly.
100
+ Both `import("pixelkiln")` and `require("pixelkiln")` work; contributors can run
101
+ `npm run pixelkiln -- …` from a checkout to execute the TypeScript source.
97
102
 
98
103
  ## Five-minute start
99
104
 
@@ -220,12 +225,16 @@ pixelkiln plan
220
225
  # Generate only an intended slice with a provider-unit ceiling.
221
226
  pixelkiln gen --style base --only anvil,hammer --budget 80
222
227
 
223
- # Repair paid output without regenerating.
228
+ # Repair paid output without regenerating; pull edits made in PixelLab's editor.
224
229
  pixelkiln restore
230
+ pixelkiln fetch --refresh
231
+
232
+ # Touch one sprite up by hand, in your editor or the gallery's.
233
+ pixelkiln edit --only anvil --style base
234
+ pixelkiln gallery --edit
225
235
 
226
236
  # Optional local gates.
227
237
  pixelkiln audit --check --max-distance 35 --min-transparency 0.1
228
- pixelkiln cache --check
229
238
 
230
239
  # Build and verify the quality output declared by style.quality.
231
240
  pixelkiln refine --style base
@@ -233,9 +242,8 @@ pixelkiln refine approve --from assets/final/anvil.pixelkiln.json --reviewer "Yo
233
242
  pixelkiln refine check --style base
234
243
  ```
235
244
 
236
- Repeated `--style`, `--only`, `--claims`, and `--output-role` filters
237
- accumulate; comma-separated values also work. Unknown flags are hard errors, so
238
- a typo cannot silently widen paid work.
245
+ Repeated `--style`, `--only`, `--claims`, and `--output-role` filters accumulate;
246
+ commas work too. Unknown flags are hard errors, so a typo cannot widen paid work.
239
247
 
240
248
  ## Choose the right generator
241
249
 
@@ -273,14 +281,11 @@ pixelkiln export --style ground --only terrain --format tiled
273
281
  ```
274
282
 
275
283
  Pack, mount, and export write managed bundles. When a style has a quality
276
- profile, pack and mount consume only its current approved PNGs and include their
277
- records in provenance. Existing unowned output is adopted only when already
278
- byte-identical; manual edits stop the whole write unless `--force` takes ownership.
279
-
280
- All changing members stage before promotion. Ordinary failures roll back.
281
- Abrupt termination leaves a validated transaction journal: the next invocation
282
- restores an incomplete old bundle or finishes cleanup for a committed new one.
283
- See [Derived artifacts](./docs/ARTIFACTS.md) and
284
+ profile they consume only its current approved PNGs; a hand edit stands in for
285
+ its generation. Unowned output is adopted only when byte-identical; manual edits
286
+ stop the write unless `--force` takes ownership. Changing members stage before
287
+ promotion, ordinary failures roll back, and abrupt termination leaves a journal
288
+ the next invocation finishes. See [Derived artifacts](./docs/ARTIFACTS.md) and
284
289
  [Tiles and engine exports](./docs/TILES.md).
285
290
 
286
291
  ## Recovery and shared accounts
@@ -310,9 +315,8 @@ pixelkiln salvage --workspace pixelkiln.workspace.json
310
315
  ```
311
316
 
312
317
  A registered project's missing or unreadable lockfile is a hard error for
313
- `workspace claims` and `salvage --workspace`. Missing claims are never skipped.
314
- Purge only targets objects already tagged discard and requires an explicit
315
- confirmation.
318
+ `workspace claims` and `salvage --workspace`; missing claims are never skipped.
319
+ Purge only targets objects already tagged discard and asks first.
316
320
  See [Recovery and account safety](./docs/RECOVERY.md).
317
321
 
318
322
  ## Automation
@@ -347,8 +351,9 @@ console.log(plan.groups, plan.actionable.length)
347
351
 
348
352
  The package also exports audit and image-regression gates, quality-profile
349
353
  inspection and refinement, revision-readiness checks, lock/output helpers, the
350
- gallery snapshot, provider contracts, sprite packing/mounting, tile exporters,
351
- managed artifact writes, and provenance verification. See [Library API](./docs/LIBRARY.md).
354
+ gallery snapshot and server, hand edits and the editor install, provider contracts,
355
+ sprite packing/mounting, tile exporters, managed artifact writes, and provenance
356
+ verification. See [Library API](./docs/LIBRARY.md).
352
357
 
353
358
  ## Documentation
354
359
 
@@ -377,22 +382,17 @@ managed artifact writes, and provenance verification. See [Library API](./docs/L
377
382
  | [Endpoint research](./docs/ENDPOINTS.md) | Measured PixelLab API behavior and recipes. |
378
383
  | [Provider comparison](./PROVIDERS.md) | Provider selection, costs, supported workflows, confidence, and limitations. |
379
384
 
380
- The [public documentation site](https://pixelkiln.griffen.codes/docs) is built by
381
- the application in [`website/`](./website/README.md). It reads these Markdown
382
- files directly at build time, so the website and published package share one
383
- documentation source.
384
-
385
- Project policies: [Contributing](./CONTRIBUTING.md),
386
- [Security](./SECURITY.md), and [provider comparison](./PROVIDERS.md).
385
+ The [public documentation site](https://pixelkiln.griffen.codes/docs) is built from
386
+ these Markdown files by [`website/`](./website/README.md), so the site and the
387
+ package share one source. Policies: [Contributing](./CONTRIBUTING.md),
388
+ [Security](./SECURITY.md), [provider comparison](./PROVIDERS.md).
387
389
 
388
390
  ## Scope
389
391
 
390
392
  Animated eight-direction characters and their ZIP/engine-resource export are
391
- not currently implemented. Cross-project content-cache reuse and
392
- `workspace find <hash|asset-id>` are deferred beyond the current read-only
393
- workspace catalog. See the open
394
- [roadmap issues](https://github.com/gfargo/pixelkiln/issues) for additional
395
- provider adapters and this remaining workspace work.
393
+ not implemented. Cross-project content-cache reuse and `workspace find` are
394
+ deferred beyond the current workspace catalog. See the open
395
+ [roadmap issues](https://github.com/gfargo/pixelkiln/issues).
396
396
 
397
397
  ## License
398
398