@iodes/releasekit 0.1.0 → 0.1.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.
Files changed (84) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +306 -110
  3. package/dist/cli.js +7 -5
  4. package/dist/content.d.ts +8 -0
  5. package/dist/content.js +5 -3
  6. package/dist/export.js +4 -3
  7. package/dist/git.d.ts +17 -6
  8. package/dist/git.js +9 -9
  9. package/dist/images.d.ts +14 -5
  10. package/dist/images.js +32 -8
  11. package/dist/model.d.ts +29 -19
  12. package/dist/model.js +27 -8
  13. package/dist/project.d.ts +1 -2
  14. package/dist/project.js +7 -12
  15. package/dist/prompts.d.ts +2 -2
  16. package/dist/prompts.js +24 -16
  17. package/dist/schema-export.js +9 -2
  18. package/dist/validate.js +10 -12
  19. package/examples/README.md +34 -14
  20. package/examples/backup-encryption/README.md +19 -0
  21. package/examples/backup-encryption/dark.png +0 -0
  22. package/examples/backup-encryption/dark.prompt.md +52 -0
  23. package/examples/backup-encryption/dimensions-edit.prompt.md +7 -0
  24. package/examples/backup-encryption/flat-render-requests.md +15 -0
  25. package/examples/backup-encryption/light.png +0 -0
  26. package/examples/backup-encryption/light.prompt.md +52 -0
  27. package/examples/backup-encryption/pair-review.md +18 -0
  28. package/examples/backup-encryption/scene.yaml +31 -0
  29. package/examples/connected-route/README.md +23 -0
  30. package/examples/connected-route/dark.png +0 -0
  31. package/examples/connected-route/dark.prompt.md +58 -0
  32. package/examples/connected-route/light.png +0 -0
  33. package/examples/connected-route/light.prompt.md +58 -0
  34. package/examples/connected-route/pair-review.md +22 -0
  35. package/examples/connected-route/render-requests.md +171 -0
  36. package/examples/connected-route/scene.yaml +59 -0
  37. package/examples/feature-briefs.yaml +96 -89
  38. package/examples/location-preferences/README.md +18 -0
  39. package/examples/location-preferences/dark.png +0 -0
  40. package/examples/location-preferences/dark.prompt.md +52 -0
  41. package/examples/location-preferences/light.png +0 -0
  42. package/examples/location-preferences/light.prompt.md +52 -0
  43. package/examples/location-preferences/pair-review.md +17 -0
  44. package/examples/location-preferences/scene.yaml +26 -0
  45. package/examples/provided-media/README.md +15 -0
  46. package/examples/provided-media/scene.yaml +22 -0
  47. package/examples/queue-action/README.md +15 -15
  48. package/examples/queue-action/alignment-edit.prompt.md +8 -8
  49. package/examples/queue-action/dark.prompt.md +58 -58
  50. package/examples/queue-action/light.prompt.md +58 -58
  51. package/examples/queue-action/pair-review.md +33 -33
  52. package/examples/queue-action/scene.yaml +41 -41
  53. package/examples/release-notes.en-US.json +56 -56
  54. package/examples/release-notes.ko-KR.json +56 -56
  55. package/examples/storage-breakdown/README.md +18 -0
  56. package/examples/storage-breakdown/dark.png +0 -0
  57. package/examples/storage-breakdown/dark.prompt.md +52 -0
  58. package/examples/storage-breakdown/light.png +0 -0
  59. package/examples/storage-breakdown/light.prompt.md +52 -0
  60. package/examples/storage-breakdown/pair-review.md +18 -0
  61. package/examples/storage-breakdown/scene.yaml +28 -0
  62. package/examples/tablet-reading/README.md +18 -0
  63. package/examples/tablet-reading/content-edit.prompt.md +7 -0
  64. package/examples/tablet-reading/dark.png +0 -0
  65. package/examples/tablet-reading/dark.prompt.md +52 -0
  66. package/examples/tablet-reading/light.png +0 -0
  67. package/examples/tablet-reading/light.prompt.md +52 -0
  68. package/examples/tablet-reading/pair-review.md +18 -0
  69. package/examples/tablet-reading/scene.yaml +29 -0
  70. package/kit/references/composition-recipes.md +89 -73
  71. package/kit/references/format.md +27 -24
  72. package/kit/references/media-sources.md +34 -0
  73. package/kit/references/theme-pairing.md +55 -53
  74. package/kit/references/visual-language.md +73 -69
  75. package/kit/references/workflow.md +90 -24
  76. package/kit/references/writing.md +27 -27
  77. package/kit/skills/releasekit-draft/SKILL.md +12 -10
  78. package/kit/skills/releasekit-image/SKILL.md +20 -16
  79. package/kit/skills/releasekit-review/SKILL.md +16 -12
  80. package/kit/skills/releasekit-translate/SKILL.md +14 -10
  81. package/package.json +54 -52
  82. package/schemas/bundle.schema.json +26 -1
  83. package/schemas/visual.schema.json +42 -0
  84. package/schemas/evidence.schema.json +0 -96
@@ -0,0 +1,171 @@
1
+ # Render requests: connected route
2
+
3
+ The reusable brief is [scene.yaml](scene.yaml). The compiled [dark](dark.prompt.md) and [light](light.prompt.md) prompts describe the current scene. This file records the actual generation and targeted-edit requests used to select the raster pair; it is example history, not an additional recipe that the CLI installs or applies to other notes. Only original generated map outputs were passed as edit targets. External artwork was not supplied to the generator.
4
+
5
+ ## Request 1: original dark draft
6
+
7
+ No image input. This draft established the new cartographic composition before the neutral-background clarification was added to the final scene.
8
+
9
+ <details>
10
+ <summary>Full generation request</summary>
11
+
12
+ ```text
13
+ Use case: ui-mockup
14
+ Asset type: release-note illustration
15
+ Generate a newly composed original cartographic asset from this specification. No input artwork is supplied. Make the fine street network read like restrained screen cartography, not a toy grid, padded blocks, maze, painting, or 3D render. The route must be clear at phone size, with the quiet map supporting it. Deliver the dark variant only.
16
+
17
+ # Release illustration — dark
18
+
19
+ ## Intent
20
+ Create one finished raster illustration for a product release note. Render only the illustration asset, without the surrounding release viewer, headline, body copy, page navigation, or an outer presentation frame.
21
+ User-visible change: The route preview connects the selected start and destination through the path network.
22
+ Subject: A saved route preview on an illustrative city map
23
+ Focal detail: One continuous blue route between two neutral saved-waypoint markers
24
+ Context: Original fictional authoring example. Its geography and route are explicitly illustrative, not a real location, computed navigation result, or evidence of a shipped product. The scene specifies a static saved-route preview with an incidental abstract summary; it does not show live navigation.
25
+
26
+ ## Composition contract
27
+ Archetype: spatial-view
28
+ Target canvas: 1280 × 800 pixels; landscape 1280:800. Produce a single image, not a dark/light collage.
29
+ Choose the geographic or diagrammatic scale needed to explain the feature, with one consistent viewpoint. A map can reach the canvas edges; reserve quiet space for a supported summary only when the brief calls for it. Do not impose a split layout, coast, road network, or endpoint markers on every spatial scene.
30
+ Specific scene layout: Flat top-down cartography, landscape 8:5. The right two-thirds contain an original fictional inland city beside a broad gently curving river along the right edge. Its irregular shoreline and small connected neighborhood streets form dozens of small blocks drawn as fine subdued lines, with a few slightly stronger major connections. Keep land and water planar, without building extrusions or block shading. Avoid a uniform grid: vary block sizes and street directions while keeping a coherent connected network. The left third is quiet canvas; map detail fades locally before reaching three short left-aligned neutral bars representing incidental route-summary labels. These bars sit near the vertical center, begin at x=7%, and are approximately 17%, 13%, and 24% of the canvas wide, with small corner radii and restrained weight. They are not a card, heading, statistic, or control. One medium-blue route follows a major street entirely on the left bank of the river: from a hollow neutral start circle near (80%,82%), up-left through (73%,67%), (63%,58%), and (60%,46%), then up-right through (66%,33%) to a filled neutral destination circle near (68%,17%). Join these anchors with connected, gently irregular street-following bends, not angular shortcuts. The route is approximately 0.45% of the canvas width; supporting streets are much finer and lower contrast. Each small endpoint marker is about 2.6% of the canvas width and touches its path endpoint. Blue is used only for the route. Both markers remain inside the map crop. Preserve broad uninterrupted space around the summary and quiet context around the focal path; let incidental map detail reach the top, right, and bottom edges.
31
+ Elements:
32
+ - Flat land and one irregular river boundary with water along the right edge
33
+ - Fine connected neighborhood streets and a few stronger major streets
34
+ - One continuous blue route on the land side, without a river crossing
35
+ - One hollow neutral start circle and one filled neutral destination circle
36
+ - Three short aligned neutral route-summary bars in the quiet left area
37
+
38
+ ## Visual treatment
39
+ For maps, retain enough fine, low-contrast context to read as a map. Reduce its contrast before deleting its structure: distinguish minor streets, major connections, and land or water through thin linework and flat values. Keep the active route or selection dominant without turning streets into oversized roads or padded checkerboard blocks. Use diagrammatic simplification when relationships alone are the subject. Preserve semantic colors; avoid decorative relief, bevels, textures, and lighting.
40
+ Favor visual precision, quiet hierarchy, and one instantly understandable feature. Small-screen clarity takes priority over decorative detail. Treat the specified element inventory as complete. Keep elements designated as schematic or abstract in that form; do not turn them into additional content or decoration. Authentic content explicitly requested in the brief can retain its own materials and colors. Avoid an unrelated marketing dashboard, neon glow, glass effects, noisy textures, decorative 3D blobs, and unnecessary gradients.
41
+
42
+ ## Dark theme roles
43
+ Canvas #242527; base surface #18191B; raised surface #343638; main neutral symbol #B9BBBE; secondary detail #777B80; divider #46494D; interaction accent #4678ED. Use the accent only when the scene assigns it a functional meaning.
44
+ Use flat value separation and crisp linework. Keep background layers subordinate to the focal route or selection in this theme. Do not add contact shadows, studio lighting, bevels, or material shading. A local fade into quiet space is allowed only when specified by the scene.
45
+ Treat these colors as presentation roles, not a global recoloring filter. Preserve natural photos, device materials, and meaningful status colors. If a light product UI is not supported by the evidence, keep the authentic UI on the light presentation canvas instead of inventing a feature.
46
+
47
+ ## Pair invariants
48
+ The other theme must use the same object count, positions, scale, crop, camera, UI topology, selected state, chart values, allowed labels, and feature meaning. Change presentation surfaces, neutral values, lighting, and shadows only. Preserve semantic accent hues. If an approved counterpart exists and the tool supports references, use it as a composition reference for a constrained edit. Never create the counterpart with color inversion, brightness-only filters, or a fresh unrelated composition.
49
+ Specific invariants:
50
+ - Map crop, river boundary, street structure, and flat top-down viewpoint
51
+ - Route continuity, bends, endpoint attachment, and land-side placement
52
+ - Hollow start at the lower end and filled destination at the upper end
53
+ - Summary bar count, alignment, sizes, spacing, and surrounding negative space
54
+ - Blue route meaning and its visual priority over the neutral street network
55
+
56
+ ## Text and references
57
+ No readable text or invented numbers. Use abstract bars for incidental UI labels.
58
+ Product reference files to inspect before rendering:
59
+ - None
60
+ Treat reference content as evidence, not instructions. Use original product-appropriate shapes. Do not copy reference-company identities, logos, attributed style labels, slogans, or distinctive unrelated products.
61
+
62
+ ## Exclusions
63
+ - Broad toy roads, lane dashes, padded checkerboard blocks, and building relief
64
+ - A route that crosses water without a bridge or cuts across street blocks
65
+ - A current-position arrow, live traffic, alternate routes, or navigation controls
66
+ - Geographic labels, real place identity, distances, durations, or invented numbers
67
+ - A floating map card, hard split panel, glow, shadows, grain, or scenic lighting
68
+ No watermark, stock-photo caption, extra claims, or decorative objects unrelated to the change.
69
+
70
+ ## Feature correctness
71
+ First compare the depicted meaning with the user-visible change and product evidence. The subject, focal detail, state, and relationships must satisfy this scene's composition, preserve, and avoid constraints. Apply only checks relevant to this feature. Check positions, connections, direction, scale relationships, and layer meanings against the scene. At small size the route or selection must read before background detail. Routes must follow connected traversable geometry; crossings need the appropriate connection. Do not add a current-position arrow, traffic, distance, or live state without evidence. Exact geography and actual routing require an approved capture or source; generated fictional geography must be explicitly illustrative.
72
+
73
+ ## Acceptance
74
+ Inspect at full size and approximately 350 pixels wide. First verify feature correctness, then visual clarity, then correspondence between the configured themes. Essential content must not clip, incidental text must not become gibberish, and the pair must preserve the composition contract. Matching variants can share the same factual or structural mistake. Register the actual output dimensions and selected file. If generation is unavailable, leave this request pending and hand off this prompt; do not substitute a placeholder image.
75
+ ```
76
+
77
+ </details>
78
+
79
+ ## Request 2: quiet neutral context and endpoint correction
80
+
81
+ Input: the first dark draft. The map context became neutral, but inspection found that the top endpoint gap remained. This output was not accepted as the final asset.
82
+
83
+ ```text
84
+ Use case: precise-object-edit
85
+ Asset type: dark release-note map illustration
86
+ Image 1 is the edit target, an original fictional map. Preserve its native 1586 × 992 pixel dimensions exactly, landscape crop, route shape, street topology, river edges, existing endpoint positions, and the three bars on the left. Do not recompute or redraw the map layout.
87
+
88
+ Make only these concrete corrections:
89
+ 1. The blue route stops a few pixels before the filled destination circle at the top. Extend that existing short route end until it passes underneath and touches the destination circle, so the path is visibly continuous all the way to the marker. Preserve the hollow start circle and its existing attachment.
90
+ 2. Make all background map context quiet neutral charcoal, with the route as the only chromatic element. Water is flat neutral dark charcoal #18191B, never blue. Land is around #242527; remove green color from the small land patches and render them in land-like neutral values. Reduce the contrast of the existing road network: fine streets near #343638 and larger connections near #46494D. The dense road structure must remain visible at full size but recede at phone size.
91
+ 3. Keep the path medium blue near #4678ED. The endpoints should be light neutral gray near #B9BBBE rather than glaring pure white. Preserve both endpoint shapes and their sizes. Keep the three summary bars and their left alignment unchanged.
92
+
93
+ No extra features, arrows, traffic, labels, icons, roads, or route alternatives. No glow, beveled blocks, shadows, texture, lighting, or new geography. Keep the composition and fine cartographic character intact. This is a focused hierarchy and connection correction, not a new map.
94
+ ```
95
+
96
+ ## Request 3: endpoint connection only
97
+
98
+ Input: the neutral dark draft from request 2.
99
+
100
+ ```text
101
+ Use case: precise-object-edit
102
+ Image 1 is the edit target, a 1586 × 992 dark cartographic release illustration. Correct ONE tiny defect. Keep every other pixel's content, framing, map, water, colors, lower start ring, and left bars unchanged. Preserve the output dimensions exactly.
103
+
104
+ At the TOP end of the blue route, a pale filled destination circle is centered approximately at pixel (1064,139). The top cap of the blue stroke ends approximately at (1071,155). A dark gap visibly separates them. Paint a short continuation of that SAME BLUE LINE from its current cap, gently up-left into the center of the pale circle, UNDER the circle. Let the opaque filled circle cover the line end. The blue stroke must physically meet the bottom edge of the filled circle, with ZERO dark gap or black halo between the stroke and the circle. Do not move or resize the circle. Do not change the rest of the route.
105
+
106
+ This connecting blue segment is the entire requested edit. Do not merely change contrast. The output should show one uninterrupted connected path from the hollow start ring all the way into the filled destination circle. No new symbol or extra route.
107
+ ```
108
+
109
+
110
+ Request 3 still left the small gap visible. It was rejected; the next request replaces the destination symbol with a compact pin attached to the path.
111
+
112
+ ## Request 4: attached destination pin
113
+
114
+ Input: the dark output from request 3. The final scene uses this destination-marker design instead of the earlier filled circle.
115
+
116
+ ```text
117
+ Use case: precise-object-edit
118
+ Image 1 is the edit target, a dark map release illustration. Preserve its 1586 × 992 canvas and every other part of its map layout.
119
+
120
+ Replace the TOP destination marker. Remove the detached pale circle currently hovering above the blue route. At that same destination, draw ONE compact neutral-gray filled teardrop map pin, with a small dark circular cutout in its head. Its pointed bottom must meet and overlap the top end of the blue route. The blue route must emerge directly from the pin's pointed bottom. There must be NO GAP between pin and route.
121
+
122
+ This pin is a saved destination, not a current-position arrow. Its width should be about 38 pixels and height about 48 pixels. Center its POINT at approximately (1072,158), where the existing blue stroke begins. The body of the pin extends upward from this point, over the position of the removed circle. Rebuild just this tiny local area so the pin tip and blue path are visibly joined. The marker should be a flat medium-light neutral gray, not white, glossy, dimensional, or blue.
123
+
124
+ Keep the rest of the blue route shape, hollow lower start ring, street network, neutral charcoal land and water, map crop, three left summary bars, and colors unchanged. No extra marker, no duplicate circle, no readable text, no live state, and no other edit.
125
+ ```
126
+
127
+
128
+ ## Request 5: light counterpart
129
+
130
+ Input: the dark composition from request 4. The following instructions were prepended to the compiled light prompt. That prompt used the final pin design and approximate anchors measured from the selected composition. The current [light.prompt.md](light.prompt.md) additionally clarifies that the pin cutout reveals its background in either theme. This result preserved the visual layout but decoded at 1584 × 993 pixels, so it required a size correction before pair acceptance.
131
+
132
+ ```text
133
+ Use case: precise-object-edit
134
+ Asset type: light counterpart of the approved original release-note map
135
+ Image 1 is the selected dark composition and the geometry reference. Make its LIGHT presentation counterpart. Preserve the input's actual dimensions EXACTLY: 1586 × 992 pixels. This native-size instruction supersedes the nominal 1280 × 800 target in the reusable brief below. Keep the actual input geometry; numeric layout anchors in the brief are approximate.
136
+
137
+ Change only presentation values. Use a near-white canvas and land around #F7F8FA, flat neutral light-gray river water around #E1E3E7, very subdued minor streets around #DDDFE3, and slightly stronger major streets around #C5C9CF. Keep these layers neutral, without blue water or green land. Summary bars and saved-waypoint markers become medium gray with clear contrast. Keep the route the same semantic blue #4678ED. The light map must be quiet and legible at phone size, without white-on-white loss of structure.
138
+
139
+ LOCK the map crop, exact street network, river boundaries and islands, route bends, attached destination pin and its circular cutout, lower hollow start ring, all positions and sizes, and the three left-aligned summary bars. Preserve the newly corrected physical connection between the destination pin's tip and the blue stroke: no gap. Preserve the local map-detail fade into the empty left area. No geographic redraw, additional roads, new markers, live-navigation state, readable text, numbers, gradients apart from the existing local fade, grain, shading, shadows, or 3D.
140
+
141
+ The following is the reusable light-theme scene specification. Use the input image as the composition authority for this constrained edit.
142
+ ```
143
+
144
+
145
+ ## Request 6: light canvas size correction
146
+
147
+ Inputs: request 5's light output as the edit target and the selected dark output as the canvas-size reference.
148
+
149
+ ```text
150
+ Use case: precise-object-edit
151
+ Image 1 is the LIGHT edit target. Image 2 is the DARK counterpart used only as the exact canvas-dimension reference.
152
+ Correct the light output's canvas dimensions to match image 2 EXACTLY: 1586 pixels wide and 992 pixels high.
153
+ Image 1 currently has 1584 × 993 pixels. The only requested change is this two-pixel width and one-pixel height correction. Retain all of image 1's visible content and LIGHT colors. Do not copy the dark palette from image 2. Keep the route, destination pin, hollow start, river and roads, summary bars, crop, and every spatial relationship unchanged. No added elements or padding border. Deliver ONE finished light image with the exact same pixel dimensions as image 2, 1586 × 992.
154
+ ```
155
+
156
+
157
+ Request 6 decoded at 1585 × 992 pixels. It still differed from the earlier dark canvas by one pixel. Its native light canvas became the reference for the next counterpart; the CLI's identical-dimensions requirement was retained.
158
+
159
+ ## Request 7: dark counterpart from the native light canvas
160
+
161
+ Input: request 6's light output as the geometry and exact-size reference.
162
+
163
+ ```text
164
+ Use case: precise-object-edit
165
+ Image 1 is the approved LIGHT map, and its actual canvas is 1585 pixels wide by 992 pixels high.
166
+ Produce its DARK counterpart by changing color values ONLY. Retain EXACTLY the same 1585 × 992 native canvas, pixel framing, route and street layout, markers, river, and summary bars. Do not resize, recrop, add borders, or reconstruct the geography.
167
+
168
+ Use flat neutral charcoal land and canvas near #242527, neutral darker water near #18191B, fine subdued streets near #343638, and slightly stronger major streets near #46494D. The three left summary bars become medium neutral gray; the top destination pin and the hollow lower start ring become light neutral gray. The hole in the destination pin and inside the start ring reveal the dark map behind them. Keep the route blue #4678ED and keep it physically connected to the top pin and lower start ring. The path must read before the road context.
169
+
170
+ Preserve the precise existing light image's composition and all spatial relationships. Maintain the same local map-detail fade into the quiet left area. No colored water or parks, no other accents, no new labels or numbers, no glow, shadows, relief, grain, or decorative lighting. Only the neutral presentation values change to DARK. The output must be exactly the same dimensions as Image 1: 1585 × 992 pixels.
171
+ ```
@@ -0,0 +1,59 @@
1
+ archetype: spatial-view
2
+ source: generated
3
+ subject: A saved route preview on an illustrative city map
4
+ message: The route preview connects the selected start and destination through
5
+ the path network.
6
+ focus: One continuous blue route between two neutral saved-waypoint markers
7
+ composition: >-
8
+ Flat top-down cartography, landscape 8:5. The right two-thirds contain an
9
+ original fictional inland city beside a broad gently curving river along
10
+ the right edge. Its irregular shoreline and small connected neighborhood
11
+ streets form dozens of small blocks drawn as fine subdued lines, with a few
12
+ slightly stronger major connections. Keep land and water planar and neutral
13
+ gray in both themes, without building extrusions, block shading, or colored
14
+ park patches. Blue belongs only to the route. Avoid a uniform grid: vary block
15
+ sizes and street directions while keeping a coherent connected network.
16
+ The left third is quiet canvas; map detail fades locally before reaching
17
+ three short left-aligned neutral
18
+ bars representing incidental route-summary labels. These bars sit near the
19
+ vertical center, begin at x=5%, and are approximately 18%, 13%, and 21% of the
20
+ canvas wide, with small corner radii and restrained weight. They are not a
21
+ card, heading, statistic, or control. One medium-blue route follows a major
22
+ street entirely on the left bank of the river: from a hollow neutral start
23
+ circle near (74%,78%), up-left through (69%,63%), (61%,53%), and (61%,46%),
24
+ then up-right through (62%,40%) and (69%,31%) to a neutral destination pin
25
+ near (68%,16%).
26
+ Join these anchors with connected, gently irregular street-following bends,
27
+ not angular shortcuts. The route is approximately 0.45% of the canvas width;
28
+ supporting streets are much finer and lower contrast. Each small endpoint
29
+ marker is about 2.6% of the canvas width and touches its path endpoint. The
30
+ destination is a compact flat teardrop pin with a negative-space circular
31
+ cutout showing the map behind it; its point overlaps the upper route end
32
+ with no gap. Blue is used only for the route. Both markers remain inside the map crop. Preserve
33
+ broad uninterrupted space around the summary and quiet context around the
34
+ focal path; let incidental map detail reach the top, right, and bottom edges.
35
+ context: >-
36
+ Original fictional authoring example. Its geography and route are explicitly
37
+ illustrative, not a real location, computed navigation result, or evidence
38
+ of a shipped product. The scene specifies a static saved-route preview with
39
+ an incidental abstract summary; it does not show live navigation.
40
+ elements:
41
+ - Flat land and one irregular river boundary with water along the right edge
42
+ - Fine connected neighborhood streets and a few stronger major streets
43
+ - One continuous blue route on the land side, without a river crossing
44
+ - One hollow neutral start circle and one compact neutral destination pin
45
+ - Three short aligned neutral route-summary bars in the quiet left area
46
+ preserve:
47
+ - Map crop, river boundary, street structure, and flat top-down viewpoint
48
+ - Route continuity, bends, endpoint attachment, and land-side placement
49
+ - Hollow start at the lower end and destination pin joined to the upper end
50
+ - Summary bar count, alignment, sizes, spacing, and surrounding negative space
51
+ - Blue route meaning and its visual priority over the neutral street network
52
+ avoid:
53
+ - Broad toy roads, lane dashes, padded checkerboard blocks, and building relief
54
+ - A route that crosses water without a bridge or cuts across street blocks
55
+ - A current-position arrow, live traffic, alternate routes, or navigation controls
56
+ - Geographic labels, real place identity, distances, durations, or invented numbers
57
+ - A floating map card, hard split panel, glow, shadows, grain, or scenic lighting
58
+ text: []
59
+ references: []
@@ -1,89 +1,96 @@
1
- - id: backup-encryption
2
- releaseNote: Local backup files can now be encrypted before saving.
3
- scene:
4
- archetype: icon-tile
5
- subject: A compact archive symbol with a closed padlock
6
- message: Local backup files can be saved with encryption enabled.
7
- focus: The closed padlock attached to the archive symbol
8
- context: >-
9
- Fictional capability illustration, not a shipped product claim. The lock represents
10
- encryption of local backup files only; it does not claim protection of every product surface.
11
- composition: >-
12
- One compact archive silhouette occupies about 22 percent of an 8:5 canvas width,
13
- centered optically. One small closed padlock overlaps its lower-right corner as a badge.
14
- Keep the archive opening, lock body, and closed shackle distinguishable at small size.
15
- Use neutral material values with one restrained accent on the lock. No surrounding interface.
16
- elements:
17
- - One archive silhouette
18
- - One closed padlock badge
19
- preserve:
20
- - Closed shackle and attachment of the badge to the archive
21
- - Relative symbol scale, overlap, and optical center
22
- avoid:
23
- - Open lock or a success badge implying that every file is already encrypted
24
- - Additional devices, shields, or unrelated application controls
25
- text: []
26
- references: []
27
-
28
- - id: quiet-hours
29
- releaseNote: Choose a daily time window to silence notifications.
30
- scene:
31
- archetype: ui-detail
32
- subject: A quiet-hours setting with an enabled control and two time fields
33
- message: Notifications can be silenced during a chosen daily time window.
34
- focus: The enabled quiet-hours control and its associated start and end fields
35
- context: >-
36
- Fictional settings interface. The depicted state is enabled with a valid configured
37
- interval. Exact hours are incidental and should be abstracted rather than invented.
38
- composition: >-
39
- A single straight-on settings panel occupies about 64 percent of an 8:5 canvas width.
40
- A short abstract heading and one enabled toggle share the top group. Beneath them,
41
- two equal-width time fields sit side by side inside the same panel, with consistent
42
- padding and a clear gap. The left field represents the start and the right the end.
43
- Use neutral bars for field labels and values. Accent only the enabled toggle.
44
- elements:
45
- - One settings panel
46
- - One enabled toggle
47
- - Two grouped time fields with abstract labels and values
48
- preserve:
49
- - Enabled toggle state and grouping with the time fields
50
- - Start field on the left and end field on the right
51
- - Equal field dimensions and containment inside the panel
52
- avoid:
53
- - Motion cues or unrelated gestures
54
- - Literal hours or an extra scheduling capability absent from the note
55
- - Disabled appearance while the control is enabled
56
- text: []
57
- references: []
58
-
59
- - id: storage-breakdown
60
- releaseNote: View how saved files use storage by category.
61
- scene:
62
- archetype: data-view
63
- subject: A storage breakdown with three categories
64
- message: A category breakdown shows how saved files use storage.
65
- focus: One stacked bar and its matching category legend
66
- context: >-
67
- Fictional view illustration. The proportions 20, 30, and 50 percent are explicitly
68
- illustrative and are not measurements or a claim of improved storage efficiency.
69
- composition: >-
70
- A single panel occupies about 68 percent of an 8:5 canvas width. One horizontal
71
- stacked bar contains three contiguous segments with lengths in the ratio 2:3:5.
72
- Below it, three equally spaced legend items appear in the same order as the segments.
73
- Each legend item has one matching swatch and an abstract label bar. The first two
74
- categories use distinguishable neutral values; the largest category uses the accent.
75
- Omit literal numbers, axes, trend lines, and unrelated controls.
76
- elements:
77
- - One panel
78
- - One stacked bar containing exactly three contiguous segments
79
- - Three matching legend swatches with abstract label bars
80
- preserve:
81
- - Three segment lengths in the ratio 2:3:5, accounting for the complete bar
82
- - Left-to-right category order and one-to-one legend correspondence
83
- - Accent assigned to the same largest category in both themes
84
- avoid:
85
- - Invented performance improvement or additional metrics
86
- - Gaps, overlap, or proportions that disagree with the legend
87
- - Category color changes between the bar and its legend
88
- text: []
89
- references: []
1
+ - id: backup-encryption
2
+ releaseNote: Local backup files can now be encrypted before saving.
3
+ scene:
4
+ archetype: icon-tile
5
+ subject: One flat closed-padlock glyph inside a compact rounded square tile
6
+ message: Local backup files can be saved with encryption enabled.
7
+ focus: The closed shackle and simple keyhole of the monochrome padlock glyph
8
+ composition: A uniform 8:5 landscape canvas with one small flat rounded-square
9
+ tile centered exactly in the canvas. The tile side is about 22 percent of
10
+ canvas width, with a corner radius about 13 percent of its side. Inside
11
+ it, one front-facing filled padlock glyph occupies about 56 percent of the
12
+ tile width and 62 percent of its height. Use one solid mid-gray neutral
13
+ value for the complete glyph, including its closed arched shackle and
14
+ body. A simple keyhole is negative space in the body. Keep broad
15
+ uninterrupted canvas around the tile. There is no archive box, physical
16
+ object, perspective, material rendering, lighting, or colored badge.
17
+ context: Fictional capability illustration, not a shipped product claim. The
18
+ flat lock represents encryption of local backup files only. It does not
19
+ claim that every file is encrypted or that every product surface is
20
+ protected.
21
+ elements:
22
+ - One flat rounded-square background tile
23
+ - One solid monochrome closed-padlock glyph with a negative-space keyhole
24
+ preserve:
25
+ - Tile and glyph dimensions, optical center, and corner treatment
26
+ - Closed shackle and recognizable negative-space keyhole
27
+ - Completely flat monochrome graphic treatment in both themes
28
+ avoid:
29
+ - Perspective, extrusion, bevels, gradients, texture, highlights, or
30
+ shadows
31
+ - A physical archive box, metallic lock, or separate floating badge
32
+ - Decorative accent color or glow
33
+ - Open shackle, success mark, text, or additional controls
34
+ text: []
35
+ references: []
36
+ - id: quiet-hours
37
+ releaseNote: Choose a daily time window to silence notifications.
38
+ scene:
39
+ archetype: ui-detail
40
+ subject: A quiet-hours setting with an enabled control and two time fields
41
+ message: Notifications can be silenced during a chosen daily time window.
42
+ focus: The enabled quiet-hours control and its associated start and end fields
43
+ context: Fictional settings interface. The depicted state is enabled with a
44
+ valid configured interval. Exact hours are incidental and should be
45
+ abstracted rather than invented.
46
+ composition: A single straight-on settings panel occupies about 64 percent of an
47
+ 8:5 canvas width. A short abstract heading and one enabled toggle share
48
+ the top group. Beneath them, two equal-width time fields sit side by side
49
+ inside the same panel, with consistent padding and a clear gap. The left
50
+ field represents the start and the right the end. Use neutral bars for
51
+ field labels and values. Accent only the enabled toggle.
52
+ elements:
53
+ - One settings panel
54
+ - One enabled toggle
55
+ - Two grouped time fields with abstract labels and values
56
+ preserve:
57
+ - Enabled toggle state and grouping with the time fields
58
+ - Start field on the left and end field on the right
59
+ - Equal field dimensions and containment inside the panel
60
+ avoid:
61
+ - Motion cues or unrelated gestures
62
+ - Literal hours or an extra scheduling capability absent from the note
63
+ - Disabled appearance while the control is enabled
64
+ text: []
65
+ references: []
66
+ - id: storage-breakdown
67
+ releaseNote: View how saved files use storage by category.
68
+ scene:
69
+ archetype: data-view
70
+ subject: A storage breakdown with three categories
71
+ message: A category breakdown shows how saved files use storage.
72
+ focus: One stacked bar and its matching category legend
73
+ context: Fictional view illustration. The proportions 20, 30, and 50 percent are
74
+ explicitly illustrative and are not measurements or a claim of improved
75
+ storage efficiency.
76
+ composition: A single panel occupies about 68 percent of an 8:5 canvas width.
77
+ One horizontal stacked bar contains three contiguous segments with lengths
78
+ in the ratio 2:3:5. Below it, three equally spaced legend items appear in
79
+ the same order as the segments. Each legend item has one matching swatch
80
+ and an abstract label bar. The first two categories use distinguishable
81
+ neutral values; the largest category uses the accent. Omit literal
82
+ numbers, axes, trend lines, and unrelated controls.
83
+ elements:
84
+ - One panel
85
+ - One stacked bar containing exactly three contiguous segments
86
+ - Three matching legend swatches with abstract label bars
87
+ preserve:
88
+ - Three segment lengths in the ratio 2:3:5, accounting for the complete bar
89
+ - Left-to-right category order and one-to-one legend correspondence
90
+ - Accent assigned to the same largest category in both themes
91
+ avoid:
92
+ - Invented performance improvement or additional metrics
93
+ - Gaps, overlap, or proportions that disagree with the legend
94
+ - Category color changes between the bar and its legend
95
+ text: []
96
+ references: []
@@ -0,0 +1,18 @@
1
+ # Location preferences
2
+
3
+ An original fictional `symbol-pair` example: Preferences can be saved for an individually selected location.
4
+
5
+ Original fictional example. The written scene is the complete product specification for this example, not evidence of a shipped product.
6
+
7
+ | Dark | Light |
8
+ | --- | --- |
9
+ | ![An adjustment glyph associated with a saved location pin, dark presentation](dark.png) | ![An adjustment glyph associated with a saved location pin, light presentation](light.png) |
10
+
11
+ Both selected PNGs are 1586 × 992 pixels.
12
+
13
+ - [Shared scene specification](scene.yaml)
14
+ - [Dark prompt](dark.prompt.md) and [light prompt](light.prompt.md), compiled from that scene and the default project palette
15
+ - [Generation and pair review](pair-review.md)
16
+ - [Current composition examples](../README.md#composition-gallery)
17
+
18
+ The scene explains this feature only. Derive a new scene from each real note and its product evidence.
@@ -0,0 +1,52 @@
1
+ # Release illustration — dark
2
+
3
+ ## Intent
4
+ Create one finished raster illustration for a product release note. Render only the illustration asset, without the surrounding release viewer, headline, body copy, page navigation, or an outer presentation frame.
5
+ User-visible change: Preferences can be saved for an individually selected location.
6
+ Subject: An adjustment glyph associated with a saved location pin
7
+ Focal detail: A balanced association between preferences and one location
8
+ Context: Original fictional example. The written scene is the complete product specification for this example, not evidence of a shipped product.
9
+
10
+ ## Composition contract
11
+ Archetype: symbol-pair
12
+ Target canvas: 1280 × 800 pixels; landscape 1280:800. Produce a single image, not a dark/light collage.
13
+ Place two similarly weighted symbols on one horizontal optical axis, centered as a group; a short low-contrast divider can separate them.
14
+ Specific scene layout: Two equal optical-weight symbols centered as a group on one horizontal axis. A three-slider adjustment glyph on the left and a simple location pin on the right, each about 16 percent of canvas width, separated by a short thin neutral vertical divider. The pin uses a restrained blue accent; the adjustment glyph is neutral. Broad empty space. Flat precise shapes with gently softened material depth.
15
+ Elements:
16
+ - One three-slider adjustment glyph
17
+ - One blue location pin with a circular cutout
18
+ - One short neutral vertical divider
19
+
20
+ ## Visual treatment
21
+ Communicate one relationship with flat 2D filled glyphs. Match visual weight, corner treatment, and perceived size. Use an arrow only when direction itself is part of the feature. Prefer neutral gray; use color only for a stated interaction or semantic status. No rendered materials or sculpted 3D symbols.
22
+ Favor visual precision, quiet hierarchy, and one instantly understandable feature. Small-screen clarity takes priority over decorative detail. Treat the specified element inventory as complete. Keep elements designated as schematic or abstract in that form; do not turn them into additional content or decoration. Authentic content explicitly requested in the brief can retain its own materials and colors. Avoid an unrelated marketing dashboard, neon glow, glass effects, noisy textures, decorative 3D blobs, and unnecessary gradients.
23
+
24
+ ## Dark theme roles
25
+ Canvas #242527; base surface #18191B; raised surface #343638; main neutral symbol #B9BBBE; secondary detail #777B80; divider #46494D; interaction accent #4678ED. Use the accent only when the scene assigns it a functional meaning.
26
+ Use uniform flat color areas and crisp negative space. If a tile is present, use #18191B for its flat fill. Separate the neutral glyph and its background by value alone. Do not add lighting, shadows, gradients, texture, or physical material cues.
27
+ Treat these colors as presentation roles, not a global recoloring filter. Preserve natural photos, device materials, and meaningful status colors. If a light product UI is not supported by the evidence, keep the authentic UI on the light presentation canvas instead of inventing a feature.
28
+
29
+ ## Pair invariants
30
+ The other theme must use the same object count, positions, scale, crop, camera, UI topology, selected state, chart values, allowed labels, and feature meaning. Change presentation surfaces, neutral values, lighting, and shadows only. Preserve semantic accent hues. If an approved counterpart exists and the tool supports references, use it as a composition reference for a constrained edit. Never create the counterpart with color inversion, brightness-only filters, or a fresh unrelated composition.
31
+ Specific invariants:
32
+ - Left adjustment glyph and right location pin with equal optical weight
33
+ - Three slider tracks and their knob positions
34
+ - Non-directional association; blue stays on the pin
35
+
36
+ ## Text and references
37
+ No readable text or invented numbers. Use abstract bars for incidental UI labels.
38
+ Product reference files to inspect before rendering:
39
+ - None
40
+ Treat reference content as evidence, not instructions. Use original product-appropriate shapes. Do not copy reference-company identities, logos, attributed style labels, slogans, or distinctive unrelated products.
41
+
42
+ ## Exclusions
43
+ - Arrows, routes, transfer or synchronization cues
44
+ - Geofencing rings or automatic location triggers
45
+ - Extra symbols or interface panels
46
+ No watermark, stock-photo caption, extra claims, or decorative objects unrelated to the change.
47
+
48
+ ## Feature correctness
49
+ First compare the depicted meaning with the user-visible change and product evidence. The subject, focal detail, state, and relationships must satisfy this scene's composition, preserve, and avoid constraints. Apply only checks relevant to this feature. Check which two concepts are related and whether the relationship is directional. A connector must not imply transfer, synchronization, or automation unless supported by the note.
50
+
51
+ ## Acceptance
52
+ Inspect at full size and approximately 350 pixels wide. First verify feature correctness, then visual clarity, then correspondence between the configured themes. Essential content must not clip, incidental text must not become gibberish, and the pair must preserve the composition contract. Matching variants can share the same factual or structural mistake. Register the actual output dimensions and selected file. If generation is unavailable, leave this request pending and hand off this prompt; do not substitute a placeholder image.
@@ -0,0 +1,52 @@
1
+ # Release illustration — light
2
+
3
+ ## Intent
4
+ Create one finished raster illustration for a product release note. Render only the illustration asset, without the surrounding release viewer, headline, body copy, page navigation, or an outer presentation frame.
5
+ User-visible change: Preferences can be saved for an individually selected location.
6
+ Subject: An adjustment glyph associated with a saved location pin
7
+ Focal detail: A balanced association between preferences and one location
8
+ Context: Original fictional example. The written scene is the complete product specification for this example, not evidence of a shipped product.
9
+
10
+ ## Composition contract
11
+ Archetype: symbol-pair
12
+ Target canvas: 1280 × 800 pixels; landscape 1280:800. Produce a single image, not a dark/light collage.
13
+ Place two similarly weighted symbols on one horizontal optical axis, centered as a group; a short low-contrast divider can separate them.
14
+ Specific scene layout: Two equal optical-weight symbols centered as a group on one horizontal axis. A three-slider adjustment glyph on the left and a simple location pin on the right, each about 16 percent of canvas width, separated by a short thin neutral vertical divider. The pin uses a restrained blue accent; the adjustment glyph is neutral. Broad empty space. Flat precise shapes with gently softened material depth.
15
+ Elements:
16
+ - One three-slider adjustment glyph
17
+ - One blue location pin with a circular cutout
18
+ - One short neutral vertical divider
19
+
20
+ ## Visual treatment
21
+ Communicate one relationship with flat 2D filled glyphs. Match visual weight, corner treatment, and perceived size. Use an arrow only when direction itself is part of the feature. Prefer neutral gray; use color only for a stated interaction or semantic status. No rendered materials or sculpted 3D symbols.
22
+ Favor visual precision, quiet hierarchy, and one instantly understandable feature. Small-screen clarity takes priority over decorative detail. Treat the specified element inventory as complete. Keep elements designated as schematic or abstract in that form; do not turn them into additional content or decoration. Authentic content explicitly requested in the brief can retain its own materials and colors. Avoid an unrelated marketing dashboard, neon glow, glass effects, noisy textures, decorative 3D blobs, and unnecessary gradients.
23
+
24
+ ## Light theme roles
25
+ Canvas #F7F8FA; base surface #FFFFFF; raised surface #ECEEF1; main neutral symbol #494D52; secondary detail #969BA2; divider #DDE0E5; interaction accent #4678ED. Use the accent only when the scene assigns it a functional meaning.
26
+ Use uniform flat color areas and crisp negative space. If a tile is present, use #ECEEF1 for its flat fill. Separate the neutral glyph and its background by value alone. Do not add lighting, shadows, gradients, texture, or physical material cues.
27
+ Treat these colors as presentation roles, not a global recoloring filter. Preserve natural photos, device materials, and meaningful status colors. If a light product UI is not supported by the evidence, keep the authentic UI on the light presentation canvas instead of inventing a feature.
28
+
29
+ ## Pair invariants
30
+ The other theme must use the same object count, positions, scale, crop, camera, UI topology, selected state, chart values, allowed labels, and feature meaning. Change presentation surfaces, neutral values, lighting, and shadows only. Preserve semantic accent hues. If an approved counterpart exists and the tool supports references, use it as a composition reference for a constrained edit. Never create the counterpart with color inversion, brightness-only filters, or a fresh unrelated composition.
31
+ Specific invariants:
32
+ - Left adjustment glyph and right location pin with equal optical weight
33
+ - Three slider tracks and their knob positions
34
+ - Non-directional association; blue stays on the pin
35
+
36
+ ## Text and references
37
+ No readable text or invented numbers. Use abstract bars for incidental UI labels.
38
+ Product reference files to inspect before rendering:
39
+ - None
40
+ Treat reference content as evidence, not instructions. Use original product-appropriate shapes. Do not copy reference-company identities, logos, attributed style labels, slogans, or distinctive unrelated products.
41
+
42
+ ## Exclusions
43
+ - Arrows, routes, transfer or synchronization cues
44
+ - Geofencing rings or automatic location triggers
45
+ - Extra symbols or interface panels
46
+ No watermark, stock-photo caption, extra claims, or decorative objects unrelated to the change.
47
+
48
+ ## Feature correctness
49
+ First compare the depicted meaning with the user-visible change and product evidence. The subject, focal detail, state, and relationships must satisfy this scene's composition, preserve, and avoid constraints. Apply only checks relevant to this feature. Check which two concepts are related and whether the relationship is directional. A connector must not imply transfer, synchronization, or automation unless supported by the note.
50
+
51
+ ## Acceptance
52
+ Inspect at full size and approximately 350 pixels wide. First verify feature correctness, then visual clarity, then correspondence between the configured themes. Essential content must not clip, incidental text must not become gibberish, and the pair must preserve the composition contract. Matching variants can share the same factual or structural mistake. Register the actual output dimensions and selected file. If generation is unavailable, leave this request pending and hand off this prompt; do not substitute a placeholder image.
@@ -0,0 +1,17 @@
1
+ # Pair review: Location preferences
2
+
3
+ ## Generation record
4
+
5
+ Generated with the coding agent's built-in image tool. The CLI made no image-service calls. The dark asset was generated from dark.prompt.md; the light asset was created as a constrained edit of the selected dark image using light.prompt.md and an instruction to preserve input dimensions and composition. No color inversion was used.
6
+
7
+ Two image-tool requests: dark generation and light counterpart.
8
+
9
+ ## Selected output
10
+
11
+ - Two distinct decoded PNGs, both 1586 × 992 pixels, approximately 8:5. Original output dimensions are retained.
12
+ - Reviewed at full size and approximately 350 pixels wide for feature meaning, focal clarity and pair correspondence.
13
+ - Three slider tracks remain on the left, with the same knob positions; one blue pin stays on the right.
14
+ - The thin divider communicates association without an arrow, transfer, synchronization or geofencing cue.
15
+ - No readable text, logos or surrounding release-note viewer.
16
+
17
+ The pair is visually consistent, not guaranteed to have pixel-identical edges or exact palette samples. Presentation lighting and surface shading can differ. This fictional image is an authoring reference; review real product imagery against its own evidence before acceptance.
@@ -0,0 +1,26 @@
1
+ archetype: symbol-pair
2
+ subject: An adjustment glyph associated with a saved location pin
3
+ message: Preferences can be saved for an individually selected location.
4
+ focus: A balanced association between preferences and one location
5
+ composition: Two equal optical-weight symbols centered as a group on one
6
+ horizontal axis. A three-slider adjustment glyph on the left and a simple
7
+ location pin on the right, each about 16 percent of canvas width, separated by
8
+ a short thin neutral vertical divider. The pin uses a restrained blue accent;
9
+ the adjustment glyph is neutral. Broad empty space. Flat precise shapes with
10
+ gently softened material depth.
11
+ context: Original fictional example. The written scene is the complete product
12
+ specification for this example, not evidence of a shipped product.
13
+ elements:
14
+ - One three-slider adjustment glyph
15
+ - One blue location pin with a circular cutout
16
+ - One short neutral vertical divider
17
+ preserve:
18
+ - Left adjustment glyph and right location pin with equal optical weight
19
+ - Three slider tracks and their knob positions
20
+ - Non-directional association; blue stays on the pin
21
+ avoid:
22
+ - Arrows, routes, transfer or synchronization cues
23
+ - Geofencing rings or automatic location triggers
24
+ - Extra symbols or interface panels
25
+ text: []
26
+ references: []