pixelkiln 0.89.1 → 0.89.2
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 +61 -2
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +65 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +459 -1
- package/dist/index.d.ts +459 -1
- package/dist/index.js +63 -2
- package/dist/index.js.map +1 -1
- package/docs/ARCHITECTURE.md +8 -0
- package/docs/MANIFEST.md +1 -1
- package/package.json +1 -1
- package/skills/pixelkiln/references/pixellab-roadmap.md +10 -5
- package/skills/pixelkiln/references/pixellab.md +10 -0
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -112,6 +112,14 @@ retain:
|
|
|
112
112
|
same output bytes, which is what lets a restore reproduce a recorded hash.
|
|
113
113
|
It is compared against the manifest on every `plan`: a difference is
|
|
114
114
|
`recoverable`, never `stale`, because no provider work is involved;
|
|
115
|
+
- `terrainSettings`, `terrain` entries only: the settings the request was
|
|
116
|
+
sent with that `specHash` leaves out (the older mode, transition size,
|
|
117
|
+
view, shape, and raggedness knobs, and each terrain's description as
|
|
118
|
+
sent). Hashing them would have made every existing terrain entry stale,
|
|
119
|
+
so `plan` compares this record instead and reports `stale` naming each
|
|
120
|
+
changed setting. An entry from before it was recorded has none and is
|
|
121
|
+
taken as current. A history entry keeps its own, so a restore is
|
|
122
|
+
compared against the generation it brought back;
|
|
115
123
|
- temporary `supersededOutputs[]` ownership hashes while a stale generation is
|
|
116
124
|
being replaced;
|
|
117
125
|
- provider-specific metadata under a provider-id namespace;
|
package/docs/MANIFEST.md
CHANGED
|
@@ -155,7 +155,7 @@ One asset using the fields most projects reach for:
|
|
|
155
155
|
| `terrainBoundarySeed` | `0` | `terrain`, with `terrainBoundaryAmplitude`. Which meander, an integer. |
|
|
156
156
|
| `terrainStepSlope` | `0` | `terrain`, `pro` at `terrainTransitionSize` 0.25 only. 0 a cliff to 2 a gentle slope. |
|
|
157
157
|
| `terrainConnectDiagonals` | `false` | `terrain`, `pro` only. Join the diagonal tiles' upper corners into one area. |
|
|
158
|
-
| `terrainSpreadX` / `terrainSlopeSize` | | Deprecated: PixelLab ignores both. Still accepted. |
|
|
158
|
+
| `terrainSpreadX` / `terrainSlopeSize` | | Deprecated: PixelLab ignores both. Still accepted. Changing any `terrain*` field marks the set stale: the older ones (mode, transition size, view, shape style, raggedness, these two) and the descriptions as sent are recorded per lock entry as `terrainSettings` rather than hashed, compared as written (an explicit default counts as a change), and absent on sets generated before that record existed, which stay current. |
|
|
159
159
|
| `mode` | `standard` | `character` only. `standard`, `v3`, `pro`, or `pro-flash`; see [Characters](./CHARACTERS.md). |
|
|
160
160
|
| `directions` | `8` | `character` only. `4` or `8`; every engine but `standard` draws 8. |
|
|
161
161
|
| `template` | `mannequin` | `character` only. Body template: `mannequin`, or `bear`, `cat`, `dog`, `horse`, `lion`; `custom` for `pro-flash`. |
|
package/package.json
CHANGED
|
@@ -84,6 +84,16 @@ and which tutorial(s) demonstrated real (not hypothetical) demand for it.
|
|
|
84
84
|
15 up to 32px and 25 at 64px, standard 4 (the top of its quoted 1 to 4),
|
|
85
85
|
sidescroller 3. What is still open is in
|
|
86
86
|
[Pro tilesets](#pro-tilesets-what-is-left-after-04130) below.
|
|
87
|
+
- **Older terrain fields as identity.** `terrainMode`,
|
|
88
|
+
`terrainTransitionSize`, `terrainRaggedness`, `terrainShapeStyle`,
|
|
89
|
+
`terrainView`, the deprecated `terrainSpreadX`/`terrainSlopeSize`, and
|
|
90
|
+
the descriptions as sent (the prompt wrapped in the style's prefix and
|
|
91
|
+
suffix) never entered `specHash`, and hashing them would have made every
|
|
92
|
+
existing terrain entry stale at once. Closed without a migration: submit
|
|
93
|
+
records them on the entry as `terrainSettings` (kept through history and
|
|
94
|
+
`restore --generation`), and the plan marks a set stale naming each one
|
|
95
|
+
that changed. An entry from before the record has none and stays current
|
|
96
|
+
until it is next regenerated. The 0.4.130 fields stay hashed (when set).
|
|
87
97
|
- **Pro-tier full-bleed background generation** (`generate-image-v2`, PixelLab's
|
|
88
98
|
Pro image tier) at arbitrary custom aspect ratios (not just square) —
|
|
89
99
|
already measured at 40 generations in `docs/ENDPOINTS.md`, but `pixflux`
|
|
@@ -444,11 +454,6 @@ connecting different tilesets") are now mostly covered; see the closed
|
|
|
444
454
|
`/create-tileset-sidescroller` has no `mode` field, and its tile size is
|
|
445
455
|
16 or 32. pixelkiln's sidescroller sets use whatever model that endpoint
|
|
446
456
|
runs.
|
|
447
|
-
- **Older terrain fields are not identity.** `terrainMode`,
|
|
448
|
-
`terrainTransitionSize`, `terrainRaggedness`, `terrainShapeStyle`, and
|
|
449
|
-
`terrainView` never entered `specHash`, so changing one does not mark a set stale. The 0.4.130 fields
|
|
450
|
-
are hashed (when set). Hashing the older ones would make every existing
|
|
451
|
-
terrain lock entry stale at once, so it needs a deliberate migration.
|
|
452
457
|
- **Wall-continuation twins export as duplicates.** The 25-tile layout has
|
|
453
458
|
21 distinct corner combinations. Four tiles share corners with a twin and
|
|
454
459
|
differ only in `pattern_4x4`, which pixelkiln records but cannot express in
|
|
@@ -127,6 +127,16 @@ reads it:
|
|
|
127
127
|
both now, so leave them out. Reference images, a forced palette, and the
|
|
128
128
|
remaining tunables (`tileStrength`, `tilesetAdherence`) are not modeled.
|
|
129
129
|
|
|
130
|
+
Changing any terrain setting marks the set stale. The Pro shape controls
|
|
131
|
+
are in `specHash`; the older ones (`terrainMode`, `terrainTransitionSize`,
|
|
132
|
+
`terrainRaggedness`, `terrainShapeStyle`, `terrainView`, the deprecated
|
|
133
|
+
pair) and the style's `promptPrefix`/`promptSuffix` are recorded on the
|
|
134
|
+
lock entry as `terrainSettings` instead, and `plan` names the one that
|
|
135
|
+
changed ("terrainTransitionSize changed from 0.25 to 0.5"). A setting is
|
|
136
|
+
compared as written: adding `terrainMode: "standard"` to a style that left
|
|
137
|
+
it out is a change, even though it is the default. A set generated before
|
|
138
|
+
this record existed has none and stays current until it is regenerated.
|
|
139
|
+
|
|
130
140
|
**Connected sets.** An asset's `connect` makes one of its terrains the very
|
|
131
141
|
terrain of another set in the same style, so ocean, sand, and grass paint on
|
|
132
142
|
one map: `"connect": { "lower": { "of": "coast", "terrain": "upper" } }` is
|