@iodes/releasekit 0.1.6 → 0.1.7
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 +2 -2
- package/dist/model.js +4 -4
- package/dist/prompts.js +18 -16
- package/examples/README.md +4 -4
- package/examples/backup-encryption/dark.prompt.md +15 -6
- package/examples/backup-encryption/light.prompt.md +15 -6
- package/examples/connected-route/dark.prompt.md +13 -4
- package/examples/connected-route/light.prompt.md +13 -4
- package/examples/location-preferences/README.md +6 -4
- package/examples/location-preferences/dark-refined.png +0 -0
- package/examples/location-preferences/dark-refinement.prompt.md +70 -0
- package/examples/location-preferences/dark-size-correction.prompt.md +5 -0
- package/examples/location-preferences/dark-weight-correction.prompt.md +5 -0
- package/examples/location-preferences/dark.prompt.md +15 -13
- package/examples/location-preferences/light-refined.png +0 -0
- package/examples/location-preferences/light-refinement.prompt.md +70 -0
- package/examples/location-preferences/light.prompt.md +15 -14
- package/examples/location-preferences/pair-review.md +17 -10
- package/examples/location-preferences/scene.yaml +16 -9
- package/examples/queue-action/README.md +3 -3
- package/examples/queue-action/dark-accent-edit.prompt.md +5 -0
- package/examples/queue-action/dark-accent.png +0 -0
- package/examples/queue-action/dark-refined.png +0 -0
- package/examples/queue-action/dark-refinement.prompt.md +74 -0
- package/examples/queue-action/dark-size-correction.prompt.md +5 -0
- package/examples/queue-action/dark.prompt.md +15 -13
- package/examples/queue-action/light-accent-edit.prompt.md +5 -0
- package/examples/queue-action/light-accent.png +0 -0
- package/examples/queue-action/light-refined.png +0 -0
- package/examples/queue-action/light-refinement.prompt.md +74 -0
- package/examples/queue-action/light.prompt.md +14 -13
- package/examples/queue-action/pair-review.md +11 -5
- package/examples/queue-action/scene.yaml +13 -9
- package/examples/storage-breakdown/dark.prompt.md +15 -6
- package/examples/storage-breakdown/light.prompt.md +15 -6
- package/examples/tablet-reading/dark.prompt.md +14 -5
- package/examples/tablet-reading/light.prompt.md +14 -5
- package/kit/references/composition-recipes.md +5 -5
- package/kit/references/format.md +1 -1
- package/kit/references/theme-pairing.md +6 -6
- package/kit/references/visual-language.md +17 -17
- package/kit/skills/releasekit-image/SKILL.md +2 -2
- package/package.json +1 -1
- package/schemas/config.schema.json +8 -8
- package/schemas/release.schema.json +8 -8
|
@@ -29,38 +29,38 @@ For each standalone note, derive the scene from that feature independently. Grou
|
|
|
29
29
|
|
|
30
30
|
Separate the canvas, base surface, raised surface, primary symbol, secondary detail, and divider. These are semantic roles, not a global color filter. The project defines their dark and light values.
|
|
31
31
|
|
|
32
|
-
On dark backgrounds,
|
|
32
|
+
Judge each theme at the same display width using its own saved palette. On dark backgrounds, retain distinct charcoal layers and compact mid-light neutral symbols; keep supporting UI quieter than the focal control. Avoid oversized bright glyphs, thick label bars, and milky overlays. On light backgrounds, use near-white space, subtle gray separation, and medium-gray neutral symbols with lighter supporting details. Do not use charcoal glyphs or dark placeholder bars by default. A dark device or natural photo may stay dark in a light presentation. Equal geometry does not require equal apparent brightness or contrast. A light-only palette correction leaves the accepted dark treatment intact.
|
|
33
33
|
|
|
34
|
-
For icons, use a compact flat rounded-square tile with a neutral monochrome filled glyph and clear negative space. A typical tile occupies 20–24% of the canvas width, with the glyph around 50–65% of the tile width. Keep broad margins, uniform background fills, and related corner radii. Use color only when the feature gives it a functional meaning. Do not default to a colored badge, physical object, or modeled icon.
|
|
34
|
+
For generic capability icons, use a compact flat rounded-square tile with a neutral monochrome filled glyph and clear negative space. A typical tile occupies 20–24% of the canvas width, with the glyph around 50–65% of the tile width. Keep broad margins, uniform background fills, and related corner radii. Use color only when the feature gives it a functional meaning. Do not default to a colored badge, physical object, or modeled icon.
|
|
35
35
|
|
|
36
36
|
Flat icons and symbol pairs have no perspective, extrusion, material texture, gradients, lighting, or shadows. Simplified interfaces may use restrained layer separation where it explains the actual control hierarchy. Preserve shading already present in supplied media. Do not add sculpted objects, decorative 3D, studio lighting, glass, glow, or bevels to generated release illustrations.
|
|
37
37
|
|
|
38
38
|
## Assign neutral colors by role
|
|
39
39
|
|
|
40
|
-
Use the release's captured palette as the source of truth. The default
|
|
40
|
+
Use the release's captured palette as the source of truth. The default palettes give the themes independent value hierarchies:
|
|
41
41
|
|
|
42
|
-
| Role | Default light value | Assignment |
|
|
43
|
-
| --- | --- | --- |
|
|
44
|
-
| `canvas` | `#F8F8F8` | Uniform background |
|
|
45
|
-
| `surface` | `#FFFFFF` | Base
|
|
46
|
-
| `raised` | `#ECECEC` |
|
|
47
|
-
| `primary` | `#999999` | Main glyphs and feature-defining marks |
|
|
48
|
-
| `secondary` | `#B8B8B8` |
|
|
49
|
-
| `divider` | `#D9D9D9` | Thin separators and necessary boundaries |
|
|
42
|
+
| Role | Default dark value | Default light value | Assignment |
|
|
43
|
+
| --- | --- | --- | --- |
|
|
44
|
+
| `canvas` | `#242527` | `#F8F8F8` | Uniform background |
|
|
45
|
+
| `surface` | `#18191B` | `#FFFFFF` | Base or recessed panels |
|
|
46
|
+
| `raised` | `#343638` | `#ECECEC` | Foreground panels, controls, and quiet tile fills |
|
|
47
|
+
| `primary` | `#B9BBBE` | `#999999` | Main glyphs, focal controls, and feature-defining marks |
|
|
48
|
+
| `secondary` | `#777B80` | `#B8B8B8` | Supporting glyphs, incidental bars, and abstract content |
|
|
49
|
+
| `divider` | `#46494D` | `#D9D9D9` | Thin separators and necessary boundaries |
|
|
50
50
|
|
|
51
|
-
Map visible schematic groups to these roles in `composition`; do not choose a fresh gray for each object or each image.
|
|
51
|
+
Map visible schematic groups to these roles by hierarchy in `composition`; do not choose a fresh gray for each object or each image. Object type alone does not fix its role: a foreground row can use `raised`, and a subordinate thumbnail can share `secondary` with incidental bars. A feature-relevant title, value, or control may use `primary` when the scene calls for that distinction. Preserve that hierarchy across themes and equivalent scenes; do not brighten every label bar or flatten genuinely different levels into one tone. Use the configured values, including explicit project overrides, instead of copying hex values from a worked example. Keep uniform flat fills without arbitrary warm or cool casts, opacity washes, gradients, or invented shading. Antialiased edges can contain intermediate pixels.
|
|
52
52
|
|
|
53
53
|
Light illustrations explain shapes and relationships without the contrast of a text document. If something is unclear at card size, improve silhouette, spacing, stroke width, scale, or crop first. Do not globally darken glyphs and placeholder bars or introduce shadows to make every element sharper. Preserve authentic dark hardware, supplied UI, content colors, and justified semantic colors; the neutral role map applies to generated schematic elements.
|
|
54
54
|
|
|
55
|
-
Review same-role objects across the release's
|
|
55
|
+
Review same-role objects across the release's dark images together, and separately across its light images. Use equal display widths, not differently sized website cards. In dark images inspect glyph footprint and charcoal layer separation; in light images inspect soft neutral weight. A successful decode and matching dimensions do not validate the palette or visual weight.
|
|
56
56
|
|
|
57
57
|
## Color has a job
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Use neutral surroundings and a clear hierarchy, then choose focal color from the feature. Prefer the project accent for the primary action, a selected or enabled control, an active route, or a defined information distinction when it helps readers find what matters. Color can guide attention even when the shape or interaction also reads in grayscale; it does not have to be indispensable.
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
Keep the accent on the meaningful control, state, or feature-defining component; supporting glyphs, label bars, tiles, and surfaces remain neutral. Preserve an established functional accent instead of replacing it with gray merely for restraint. Use the neutral palette roles for neutral elements, not to recolor the chosen accent target. Honor explicit monochrome choices and authentic product colors.
|
|
62
62
|
|
|
63
|
-
In the shared scene's `composition`,
|
|
63
|
+
In the shared scene's `composition`, name the accent target and what it communicates, or choose a neutral treatment when appropriate. Generic capability and maintenance symbols, and simple associations between symbols, normally stay neutral. A specific action or state within those archetypes may receive accent. Do not invent a selection, badge, or status just to use color. Preserve the chosen assignment across themes; revise it in the shared scene when the user requests a change in accent use.
|
|
64
64
|
|
|
65
65
|
Preserve established meanings such as warnings, completed states, traffic or map semantics, chart categories, and authentic content colors between themes. These colors belong to supported information; a generic improvement or security note is not itself a success or protection status.
|
|
66
66
|
|
|
@@ -93,6 +93,6 @@ Make the brief concrete enough that another model can render the same scene. “
|
|
|
93
93
|
|
|
94
94
|
## Review the actual output
|
|
95
95
|
|
|
96
|
-
Inspect the selected image at full resolution and at roughly 350 pixels wide. First compare the image with the release note, product evidence, and scene-specific constraints; use the chosen recipe's correctness checks. Then assess whether the changed capability reads in a moment, the focal object remains distinct, incidental detail stays subordinate, and every explicit label and crop is correct.
|
|
96
|
+
Inspect the selected image at full resolution and at roughly 350 pixels wide. First compare the image with the release note, product evidence, and scene-specific constraints; use the chosen recipe's correctness checks. Then assess whether the changed capability reads in a moment, the focal object remains distinct, incidental detail stays subordinate, and every explicit label and crop is correct. Review accent in both directions: remove decorative spread into unrelated elements, and restore the intended functional accent if it has been suppressed into gray. A useful attention cue remains valid even when the image is understandable without color. Review the release together for both overuse and habitual avoidance; do not impose a minimum, maximum, or one-colored-point-per-note quota. Attractive styling and theme similarity do not establish factual or structural correctness.
|
|
97
97
|
|
|
98
98
|
For a pair, compare both outputs side by side using [theme-pairing.md](theme-pairing.md). Automated checks establish file integrity, dimensions, configured variants, and scene freshness; they do not prove visual correspondence or truthfulness. Correct a specific defect with a targeted edit instead of randomly regenerating every asset. Preserve unrelated accepted assets. Import a reviewed replacement into the same note and theme slot so unused older managed files are removed; keep the previous selection until that import succeeds.
|
|
@@ -11,7 +11,7 @@ When a user decision is needed during image work, such as an ambiguous target fo
|
|
|
11
11
|
|
|
12
12
|
For standalone notes, derive one visual message from the release note and its Git/product evidence. Minor groups use the common kind's generic scene, independent of their current bullet list. Choose an archetype and `source`; the scaffold leaves both unselected. Generate flat explanatory graphics when an abstraction is sufficient. `object-detail` and `editorial-scene` require supplied media, and any other type can use an actual capture when fidelity matters. Search existing approved assets or use the user's capture; if absent, ask for the specific image and keep it pending. Do not invent a physical product, content artwork, or decorative 3D scene. Examples illustrate individual features, not default layouts.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Establish a clear hierarchy with neutral supporting elements and purposeful focal color. Map visible schematic groups to the captured palette roles in `composition`, using the [neutral role assignments](references/visual-language.md#assign-neutral-colors-by-role). Assign roles by hierarchy, not object type alone, and preserve explicit project color overrides. Follow the [independent theme treatments](references/theme-pairing.md#one-scene-two-presentation-treatments): dark images retain compact mid-light neutral glyphs and necessary charcoal layers; light images use medium-gray neutral glyphs and softer supporting values. Keep flat fills consistent. Correct glyph weight and spacing in the shared scene for both themes; a light-only palette correction leaves accepted dark assets intact. In `composition`, identify the accent target and its meaning, or choose a neutral treatment when appropriate. Prefer accent for the primary action, selected/enabled state, active path, or focal information when it helps readers find the feature; it need not be indispensable in grayscale. Keep generic information and minor-group icons normally neutral. Respect explicit monochrome choices. For a requested accent revision, update the affected scene assignment instead of treating an earlier neutral choice as permanent. Preserve meaningful status, map, chart, and supplied-content colors.
|
|
15
15
|
|
|
16
16
|
Complete each missing or unfinished scene brief before planning the release. Preserve the briefs of unchanged accepted images. Each note has one shared scene brief for its configured variants. Keep common minor-group scenes independent of release-specific text and evidence. For standalone scenes, encode product facts and uncertainties in `context`, the relevant state and relationships in `composition`, and the feature-specific correctness constraints in `preserve` and `avoid`. Keep reference identities and attributed style names out of prompts and assets. Inspect product references as evidence. Do not invent a concrete UI or physical design to fill missing evidence; use a supported abstraction or leave the unresolved detail in the brief.
|
|
17
17
|
|
|
@@ -21,7 +21,7 @@ For an image replacement or regeneration request, reuse the existing release and
|
|
|
21
21
|
|
|
22
22
|
If no image generator is available, preserve the generated prompt files and report the pending assets. Continue independent editorial work. Do not silently call a paid API, install a provider, or replace requested raster illustrations with placeholders. Import user-supplied PNG, JPEG, or WebP files when they become available.
|
|
23
23
|
|
|
24
|
-
Inspect selected images at full resolution and small-card
|
|
24
|
+
Inspect selected images at full resolution and equal small-card widths. Review dark images together for compact glyph weight and charcoal hierarchy, then light images together for soft neutral values. First compare the image with the note, product evidence, and scene-specific constraints using the selected recipe's review criteria. Then check visual clarity and theme correspondence: an assigned functional accent must remain visible and confined to its intended elements. Review the release for both decorative overuse and suppressed functional accents; grayscale readability alone is not a reason to remove color. Do not impose a fixed color quota. The CLI checks files and metadata; it does not decide whether an image truthfully depicts the feature. Two matching variants can share the same factual or structural mistake. Correct a defect in its own scene or applicable recipe; promote it into common guidance only when the principle applies across features.
|
|
25
25
|
|
|
26
26
|
If the accepted image requires an alt-text correction, update the source and affected translations using [Translate selected locales](references/workflow.md#translate-selected-locales), reviewing them before recording new source fingerprints.
|
|
27
27
|
|
package/package.json
CHANGED
|
@@ -163,22 +163,22 @@
|
|
|
163
163
|
"surface": {
|
|
164
164
|
"type": "string",
|
|
165
165
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
166
|
-
"description": "Base interface panels
|
|
166
|
+
"description": "Base or recessed interface panels."
|
|
167
167
|
},
|
|
168
168
|
"raised": {
|
|
169
169
|
"type": "string",
|
|
170
170
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
171
|
-
"description": "
|
|
171
|
+
"description": "Foreground panels, controls, and quiet tile fills."
|
|
172
172
|
},
|
|
173
173
|
"primary": {
|
|
174
174
|
"type": "string",
|
|
175
175
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
176
|
-
"description": "Main neutral glyphs and feature-defining marks; mid-gray in the default light theme."
|
|
176
|
+
"description": "Main neutral glyphs, focal controls, and feature-defining marks; mid-gray in the default light theme."
|
|
177
177
|
},
|
|
178
178
|
"secondary": {
|
|
179
179
|
"type": "string",
|
|
180
180
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
181
|
-
"description": "
|
|
181
|
+
"description": "Supporting glyphs, incidental label bars, and abstract content."
|
|
182
182
|
},
|
|
183
183
|
"divider": {
|
|
184
184
|
"type": "string",
|
|
@@ -207,22 +207,22 @@
|
|
|
207
207
|
"surface": {
|
|
208
208
|
"type": "string",
|
|
209
209
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
210
|
-
"description": "Base interface panels
|
|
210
|
+
"description": "Base or recessed interface panels."
|
|
211
211
|
},
|
|
212
212
|
"raised": {
|
|
213
213
|
"type": "string",
|
|
214
214
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
215
|
-
"description": "
|
|
215
|
+
"description": "Foreground panels, controls, and quiet tile fills."
|
|
216
216
|
},
|
|
217
217
|
"primary": {
|
|
218
218
|
"type": "string",
|
|
219
219
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
220
|
-
"description": "Main neutral glyphs and feature-defining marks; mid-gray in the default light theme."
|
|
220
|
+
"description": "Main neutral glyphs, focal controls, and feature-defining marks; mid-gray in the default light theme."
|
|
221
221
|
},
|
|
222
222
|
"secondary": {
|
|
223
223
|
"type": "string",
|
|
224
224
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
225
|
-
"description": "
|
|
225
|
+
"description": "Supporting glyphs, incidental label bars, and abstract content."
|
|
226
226
|
},
|
|
227
227
|
"divider": {
|
|
228
228
|
"type": "string",
|
|
@@ -128,22 +128,22 @@
|
|
|
128
128
|
"surface": {
|
|
129
129
|
"type": "string",
|
|
130
130
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
131
|
-
"description": "Base interface panels
|
|
131
|
+
"description": "Base or recessed interface panels."
|
|
132
132
|
},
|
|
133
133
|
"raised": {
|
|
134
134
|
"type": "string",
|
|
135
135
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
136
|
-
"description": "
|
|
136
|
+
"description": "Foreground panels, controls, and quiet tile fills."
|
|
137
137
|
},
|
|
138
138
|
"primary": {
|
|
139
139
|
"type": "string",
|
|
140
140
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
141
|
-
"description": "Main neutral glyphs and feature-defining marks; mid-gray in the default light theme."
|
|
141
|
+
"description": "Main neutral glyphs, focal controls, and feature-defining marks; mid-gray in the default light theme."
|
|
142
142
|
},
|
|
143
143
|
"secondary": {
|
|
144
144
|
"type": "string",
|
|
145
145
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
146
|
-
"description": "
|
|
146
|
+
"description": "Supporting glyphs, incidental label bars, and abstract content."
|
|
147
147
|
},
|
|
148
148
|
"divider": {
|
|
149
149
|
"type": "string",
|
|
@@ -172,22 +172,22 @@
|
|
|
172
172
|
"surface": {
|
|
173
173
|
"type": "string",
|
|
174
174
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
175
|
-
"description": "Base interface panels
|
|
175
|
+
"description": "Base or recessed interface panels."
|
|
176
176
|
},
|
|
177
177
|
"raised": {
|
|
178
178
|
"type": "string",
|
|
179
179
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
180
|
-
"description": "
|
|
180
|
+
"description": "Foreground panels, controls, and quiet tile fills."
|
|
181
181
|
},
|
|
182
182
|
"primary": {
|
|
183
183
|
"type": "string",
|
|
184
184
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
185
|
-
"description": "Main neutral glyphs and feature-defining marks; mid-gray in the default light theme."
|
|
185
|
+
"description": "Main neutral glyphs, focal controls, and feature-defining marks; mid-gray in the default light theme."
|
|
186
186
|
},
|
|
187
187
|
"secondary": {
|
|
188
188
|
"type": "string",
|
|
189
189
|
"pattern": "^#[a-fA-F0-9]{6}$",
|
|
190
|
-
"description": "
|
|
190
|
+
"description": "Supporting glyphs, incidental label bars, and abstract content."
|
|
191
191
|
},
|
|
192
192
|
"divider": {
|
|
193
193
|
"type": "string",
|