@arraypress/covers 1.0.0 → 1.3.1

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 (246) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/README.md +18 -524
  3. package/package.json +34 -5
  4. package/recipes/brand.json +1143 -0
  5. package/recipes/flyers/afterglow-motion.json +540 -0
  6. package/recipes/flyers/afterglow.json +70 -0
  7. package/recipes/flyers/arcfield-mirror-motion.json +397 -0
  8. package/recipes/flyers/arcfield-mirror.json +364 -0
  9. package/recipes/flyers/bauhaus-oktav.json +319 -0
  10. package/recipes/flyers/bauhaus-ritmo.json +735 -0
  11. package/recipes/flyers/bauhaus-volta.json +394 -0
  12. package/recipes/flyers/bloomfall.json +99 -0
  13. package/recipes/flyers/drag-solenne-motion.json +444 -0
  14. package/recipes/flyers/drag-solenne.json +426 -0
  15. package/recipes/flyers/fennick-patches.json +874 -0
  16. package/recipes/flyers/ferro-pass.json +398 -0
  17. package/recipes/flyers/ferrova.json +812 -0
  18. package/recipes/flyers/grid-rest-rhythm.json +125 -0
  19. package/recipes/flyers/groovy-honeycomb.json +816 -0
  20. package/recipes/flyers/groovy-marigold.json +479 -0
  21. package/recipes/flyers/groovy-peachfuzz.json +974 -0
  22. package/recipes/flyers/halden-orbit-motion.json +381 -0
  23. package/recipes/flyers/halden-orbit.json +356 -0
  24. package/recipes/flyers/halvard.json +120 -0
  25. package/recipes/flyers/kairo-weekender.json +696 -0
  26. package/recipes/flyers/linger-motion.json +518 -0
  27. package/recipes/flyers/linger.json +67 -0
  28. package/recipes/flyers/little-orchard.json +105 -0
  29. package/recipes/flyers/lofi-hexmoth.json +912 -0
  30. package/recipes/flyers/lofi-lowbit-motion.json +888 -0
  31. package/recipes/flyers/lofi-lowbit.json +880 -0
  32. package/recipes/flyers/lofi-nullpoint.json +3013 -0
  33. package/recipes/flyers/lumio-stack-motion.json +648 -0
  34. package/recipes/flyers/lumio-stack.json +438 -0
  35. package/recipes/flyers/magazine-cover.json +168 -0
  36. package/recipes/flyers/magazine-extended.json +269 -0
  37. package/recipes/flyers/magazine-knockout.json +40 -0
  38. package/recipes/flyers/northfold-varsity.json +618 -0
  39. package/recipes/flyers/open-studio.json +69 -0
  40. package/recipes/flyers/orrin-merch.json +715 -0
  41. package/recipes/flyers/oxyde.json +113 -0
  42. package/recipes/flyers/quiet-fields.json +610 -0
  43. package/recipes/flyers/scrapbook-halcyon.json +948 -0
  44. package/recipes/flyers/solenne-ticket.json +730 -0
  45. package/recipes/flyers/solvane-motion.json +576 -0
  46. package/recipes/flyers/solvane.json +98 -0
  47. package/recipes/flyers/subduct.json +99 -0
  48. package/recipes/flyers/sunvale-lineup.json +584 -0
  49. package/recipes/flyers/tidewell.json +91 -0
  50. package/recipes/flyers/tour-kairo.json +535 -0
  51. package/recipes/flyers/velora-stickers.json +885 -0
  52. package/recipes/flyers/wheatpaste-black.json +313 -0
  53. package/recipes/flyers/wheatpaste-mark.json +198 -0
  54. package/recipes/flyers/wheatpaste-torn.json +114 -0
  55. package/recipes/flyers/wheatpaste-wall.json +984 -0
  56. package/recipes/flyers/wheatpaste-words.json +233 -0
  57. package/recipes/release/aura.json +137 -0
  58. package/recipes/release/chrome.json +433 -0
  59. package/recipes/release/collage.json +372 -0
  60. package/recipes/release/duotone.json +113 -0
  61. package/recipes/release/film-still.json +102 -0
  62. package/recipes/release/headline.json +70 -0
  63. package/recipes/release/instant.json +170 -0
  64. package/recipes/release/label.json +364 -0
  65. package/recipes/release/liquid-glass.json +301 -0
  66. package/recipes/release/odd-tile-dark.json +688 -0
  67. package/recipes/release/odd-tile-dense.json +1056 -0
  68. package/recipes/release/odd-tile-shift.json +541 -0
  69. package/recipes/release/odd-tile-split.json +571 -0
  70. package/recipes/release/odd-tile.json +633 -0
  71. package/recipes/release/off-edge.json +96 -0
  72. package/recipes/release/plinth.json +794 -0
  73. package/recipes/release/riso.json +108 -0
  74. package/recipes/release/series/fluid-label.json +561 -0
  75. package/recipes/release/series/fluid-pixel.json +334 -0
  76. package/recipes/release/series/hairline.json +305 -0
  77. package/recipes/release/series/halo.json +282 -0
  78. package/recipes/release/series/mark-crop.json +135 -0
  79. package/recipes/release/series/mark-window.json +150 -0
  80. package/recipes/release/series/photo-label.json +475 -0
  81. package/recipes/release/series/smear-field.json +345 -0
  82. package/recipes/release/series/smear.json +202 -0
  83. package/recipes/release/series/spin.json +172 -0
  84. package/recipes/release/series/split-ghost.json +230 -0
  85. package/recipes/release/series/zoom.json +168 -0
  86. package/recipes/release/small-print.json +114 -0
  87. package/recipes/release/stack.json +156 -0
  88. package/recipes/release/swiss.json +117 -0
  89. package/schema/recipe.schema.json +7624 -827
  90. package/src/animate/index.d.ts +9 -0
  91. package/src/animate/index.js +11 -0
  92. package/src/animate/keyframes.d.ts +21 -0
  93. package/src/animate/keyframes.js +119 -0
  94. package/src/animate/marquee.d.ts +30 -0
  95. package/src/animate/marquee.js +93 -0
  96. package/src/animate/morph.d.ts +8 -0
  97. package/src/animate/morph.js +99 -0
  98. package/src/animate/motion.d.ts +59 -0
  99. package/src/animate/motion.js +63 -0
  100. package/src/animate/sheet.d.ts +19 -0
  101. package/src/animate/sheet.js +61 -0
  102. package/src/animate/timing.d.ts +28 -0
  103. package/src/animate/timing.js +146 -0
  104. package/src/animate/tracks.d.ts +18 -0
  105. package/src/animate/tracks.js +139 -0
  106. package/src/builtins.js +4 -0
  107. package/src/diagram.js +4 -3
  108. package/src/extract.js +6 -5
  109. package/src/fonts.d.ts +55 -0
  110. package/src/fonts.js +245 -53
  111. package/src/formats/cut.d.ts +10 -0
  112. package/src/formats/cut.js +77 -0
  113. package/src/formats/index.d.ts +6 -0
  114. package/src/formats/index.js +9 -0
  115. package/src/formats/presets.d.ts +41 -0
  116. package/src/formats/presets.js +89 -0
  117. package/src/formats/print.d.ts +25 -0
  118. package/src/formats/print.js +117 -0
  119. package/src/formats/zones.d.ts +10 -0
  120. package/src/formats/zones.js +64 -0
  121. package/src/geometry.js +5 -35
  122. package/src/grid.js +1 -1
  123. package/src/handmade.js +9 -7
  124. package/src/icons.js +42 -9
  125. package/src/index.d.ts +232 -55
  126. package/src/index.js +14 -6
  127. package/src/inter-data.js +27 -0
  128. package/src/json-recipe.js +201 -27
  129. package/src/kit/index.d.ts +20 -0
  130. package/src/kit/index.js +58 -0
  131. package/src/layer-options.js +43 -4
  132. package/src/layers/barcode.d.ts +19 -0
  133. package/src/layers/barcode.js +63 -0
  134. package/src/layers/code128.d.ts +4 -0
  135. package/src/layers/code128.js +28 -0
  136. package/src/layers/expr.d.ts +6 -0
  137. package/src/layers/expr.js +121 -0
  138. package/src/layers/geometry.d.ts +6 -0
  139. package/src/layers/geometry.js +238 -0
  140. package/src/layers/index.d.ts +18 -0
  141. package/src/layers/index.js +15 -0
  142. package/src/layers/perforation.d.ts +14 -0
  143. package/src/layers/perforation.js +47 -0
  144. package/src/layers/repeat.d.ts +29 -0
  145. package/src/layers/repeat.js +90 -0
  146. package/src/layers/shape.d.ts +46 -0
  147. package/src/layers/shape.js +115 -0
  148. package/src/layers/soft.d.ts +5 -0
  149. package/src/layers/soft.js +43 -0
  150. package/src/layers/svg.d.ts +23 -0
  151. package/src/layers/svg.js +108 -0
  152. package/src/layers/table.d.ts +25 -0
  153. package/src/layers/table.js +80 -0
  154. package/src/layers/tear.d.ts +21 -0
  155. package/src/layers/tear.js +74 -0
  156. package/src/layers/texture.d.ts +17 -0
  157. package/src/layers/texture.js +106 -0
  158. package/src/layers/util.d.ts +8 -0
  159. package/src/layers/util.js +61 -0
  160. package/src/layers.js +129 -61
  161. package/src/lint/image-size.d.ts +4 -0
  162. package/src/lint/image-size.js +34 -0
  163. package/src/lint/index.d.ts +16 -0
  164. package/src/lint/index.js +127 -0
  165. package/src/lint/rules.d.ts +5 -0
  166. package/src/lint/rules.js +19 -0
  167. package/src/node.d.ts +2 -0
  168. package/src/node.js +20 -0
  169. package/src/paint/index.d.ts +49 -0
  170. package/src/paint/index.js +66 -0
  171. package/src/paint/presets.d.ts +10 -0
  172. package/src/paint/presets.js +47 -0
  173. package/src/paint/tile.d.ts +7 -0
  174. package/src/paint/tile.js +55 -0
  175. package/src/palette.js +1 -1
  176. package/src/platform/files.d.ts +6 -0
  177. package/src/platform/files.js +41 -0
  178. package/src/platform/harfbuzz.d.ts +9 -0
  179. package/src/platform/harfbuzz.js +80 -0
  180. package/src/platform/index.d.ts +8 -0
  181. package/src/platform/index.js +15 -0
  182. package/src/platform/load.d.ts +6 -0
  183. package/src/platform/load.js +71 -0
  184. package/src/platform/no-harfbuzz.d.ts +2 -0
  185. package/src/platform/no-harfbuzz.js +11 -0
  186. package/src/platform/settings.d.ts +28 -0
  187. package/src/platform/settings.js +51 -0
  188. package/src/print.js +16 -13
  189. package/src/recipes.js +5 -4
  190. package/src/render/backdrop.d.ts +6 -0
  191. package/src/render/backdrop.js +55 -0
  192. package/src/render/context.d.ts +82 -0
  193. package/src/render/grain.d.ts +7 -0
  194. package/src/render/grain.js +113 -0
  195. package/src/render/group.d.ts +23 -0
  196. package/src/render/group.js +67 -0
  197. package/src/render/key.d.ts +5 -0
  198. package/src/render/key.js +90 -0
  199. package/src/render/report.d.ts +5 -0
  200. package/src/render/report.js +19 -0
  201. package/src/render/transform.d.ts +36 -0
  202. package/src/render/transform.js +139 -0
  203. package/src/render/use.d.ts +27 -0
  204. package/src/render/use.js +73 -0
  205. package/src/render/wrap.d.ts +14 -0
  206. package/src/render/wrap.js +144 -0
  207. package/src/render.js +343 -215
  208. package/src/text.d.ts +29 -0
  209. package/src/text.js +23 -16
  210. package/src/type/auto-color.d.ts +9 -0
  211. package/src/type/auto-color.js +44 -0
  212. package/src/type/fallback.d.ts +11 -0
  213. package/src/type/fallback.js +92 -0
  214. package/src/type/glyphs.d.ts +24 -0
  215. package/src/type/glyphs.js +87 -0
  216. package/src/type/index.d.ts +5 -0
  217. package/src/type/index.js +10 -0
  218. package/src/type/kern.d.ts +4 -0
  219. package/src/type/kern.js +144 -0
  220. package/src/type/layout-ref.d.ts +10 -0
  221. package/src/type/layout-ref.js +74 -0
  222. package/src/type/line.d.ts +11 -0
  223. package/src/type/line.js +105 -0
  224. package/src/type/live.d.ts +6 -0
  225. package/src/type/live.js +39 -0
  226. package/src/type/name.d.ts +4 -0
  227. package/src/type/name.js +32 -0
  228. package/src/type/path.d.ts +18 -0
  229. package/src/type/path.js +89 -0
  230. package/src/type/pixel.d.ts +7 -0
  231. package/src/type/pixel.js +85 -0
  232. package/src/type/sfnt.d.ts +20 -0
  233. package/src/type/sfnt.js +258 -0
  234. package/src/type/spans.d.ts +33 -0
  235. package/src/type/spans.js +138 -0
  236. package/src/type/symbols.d.ts +7 -0
  237. package/src/type/symbols.js +89 -0
  238. package/src/type/typeset.d.ts +10 -0
  239. package/src/type/typeset.js +363 -0
  240. package/src/type/woff2.d.ts +6 -0
  241. package/src/type/woff2.js +301 -0
  242. package/src/version.js +4 -0
  243. package/src/color.js +0 -246
  244. package/src/png.js +0 -77
  245. package/src/rng.js +0 -95
  246. package/src/svg.js +0 -69
@@ -0,0 +1,479 @@
1
+ {
2
+ "$schema": "../../schema/recipe.schema.json",
3
+ "name": "groovy-marigold",
4
+ "description": "70s gig poster: the name riding a wave in a soft, wonky Fraunces with two keylines (brown, then mustard), rainbow stripes wrapped round an arched photo in a warm tone ramp, a soft sunburst behind, a scalloped badge with the mark. Square (release): the same arch and wave re-set on a square, the title in the brown band. Re-expressed from the Logomarks scenes lab (FlyerCards3, '70s · gig poster').",
5
+ "params": {
6
+ "artist": "Marigold",
7
+ "release": "Honey Hour",
8
+ "support": "with Honey Riot & the Soft Machines",
9
+ "when": "FRI 14 AUG · GOLDEN EAR",
10
+ "doors": "DOORS 8PM · ONE NIGHT ONLY · $18",
11
+ "cream": "#f6e6c4",
12
+ "brown": "#4a2312",
13
+ "rust": "#b5401b",
14
+ "orange": "#e8661d",
15
+ "mustard": "#efa823",
16
+ "pink": "#f09aa3"
17
+ },
18
+ "layers": [
19
+ {
20
+ "id": "paper",
21
+ "type": "solid",
22
+ "color": "{cream}"
23
+ },
24
+ {
25
+ "id": "poster",
26
+ "type": "group",
27
+ "viewBox": [
28
+ 0,
29
+ 0,
30
+ 400,
31
+ 500
32
+ ],
33
+ "fit": "contain",
34
+ "when": {
35
+ "not": {
36
+ "aspect": "square"
37
+ }
38
+ },
39
+ "layers": [
40
+ {
41
+ "id": "rays",
42
+ "type": "shape",
43
+ "kind": "rays",
44
+ "cx": 200,
45
+ "cy": 272,
46
+ "r": 600,
47
+ "count": 36,
48
+ "rotate": 90,
49
+ "fill": "#f0d39b"
50
+ },
51
+ {
52
+ "id": "rainbow",
53
+ "type": "group",
54
+ "layers": [
55
+ {
56
+ "type": "shape",
57
+ "kind": "path",
58
+ "d": "M101.5 406V272A98.5 98.5 0 0 1 298.5 272V406",
59
+ "fill": "none",
60
+ "stroke": "{pink}",
61
+ "strokeWidth": 17.41
62
+ },
63
+ {
64
+ "type": "shape",
65
+ "kind": "path",
66
+ "d": "M84.5 406V272A115.5 115.5 0 0 1 315.5 272V406",
67
+ "fill": "none",
68
+ "stroke": "{mustard}",
69
+ "strokeWidth": 17.41
70
+ },
71
+ {
72
+ "type": "shape",
73
+ "kind": "path",
74
+ "d": "M67.5 406V272A132.5 132.5 0 0 1 332.5 272V406",
75
+ "fill": "none",
76
+ "stroke": "{orange}",
77
+ "strokeWidth": 17.41
78
+ },
79
+ {
80
+ "type": "shape",
81
+ "kind": "path",
82
+ "d": "M50.5 406V272A149.5 149.5 0 0 1 349.5 272V406",
83
+ "fill": "none",
84
+ "stroke": "{rust}",
85
+ "strokeWidth": 17.41
86
+ },
87
+ {
88
+ "type": "shape",
89
+ "kind": "path",
90
+ "d": "M33.5 406V272A166.5 166.5 0 0 1 366.5 272V406",
91
+ "fill": "none",
92
+ "stroke": "{brown}",
93
+ "strokeWidth": 17.41
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "type": "group",
99
+ "x": 0,
100
+ "y": 0,
101
+ "width": 400,
102
+ "height": 500,
103
+ "viewBox": [
104
+ 0,
105
+ 0,
106
+ 3200,
107
+ 4000
108
+ ],
109
+ "when": "photo",
110
+ "layers": [
111
+ {
112
+ "id": "photo",
113
+ "type": "image",
114
+ "src": "{photo}",
115
+ "x": 800,
116
+ "y": 1408,
117
+ "width": 1600,
118
+ "height": 2000,
119
+ "fit": "cover",
120
+ "effects": [
121
+ {
122
+ "kind": "duotone",
123
+ "colors": [
124
+ "#33140a",
125
+ "#b83814",
126
+ "#ed8c29",
127
+ "#fceac2"
128
+ ]
129
+ }
130
+ ],
131
+ "clip": [
132
+ {
133
+ "type": "shape",
134
+ "kind": "arch",
135
+ "x": 880,
136
+ "y": 1456,
137
+ "width": 1440,
138
+ "height": 1792
139
+ }
140
+ ]
141
+ }
142
+ ]
143
+ },
144
+ {
145
+ "id": "band",
146
+ "type": "shape",
147
+ "kind": "rect",
148
+ "x": 0,
149
+ "y": 406,
150
+ "width": 400,
151
+ "height": 94,
152
+ "fill": "{brown}"
153
+ },
154
+ {
155
+ "id": "name",
156
+ "type": "text",
157
+ "content": "{artist}",
158
+ "font": "Fraunces",
159
+ "letterSpacing": 0,
160
+ "weight": 900,
161
+ "size": 66,
162
+ "axes": {
163
+ "SOFT": 100,
164
+ "WONK": 1,
165
+ "opsz": 144
166
+ },
167
+ "path": {
168
+ "kind": "wave",
169
+ "x1": -20,
170
+ "x2": 420,
171
+ "y": 82,
172
+ "amplitude": 11,
173
+ "wavelength": 220,
174
+ "phase": 2.67
175
+ },
176
+ "startOffset": 0.5,
177
+ "color": "{orange}",
178
+ "strokes": [
179
+ {
180
+ "color": "{brown}",
181
+ "width": 15
182
+ },
183
+ {
184
+ "color": "{mustard}",
185
+ "width": 7
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ "id": "badge",
191
+ "type": "shape",
192
+ "kind": "scallop",
193
+ "cx": 320,
194
+ "cy": 376,
195
+ "r": 41.2,
196
+ "points": 10,
197
+ "depth": 3.2,
198
+ "rotate": 90,
199
+ "fill": "{mustard}"
200
+ },
201
+ {
202
+ "id": "mark",
203
+ "type": "icon",
204
+ "markup": "{mark}",
205
+ "x": 294,
206
+ "y": 350,
207
+ "size": 52,
208
+ "color": "{brown}",
209
+ "when": "mark"
210
+ },
211
+ {
212
+ "id": "with",
213
+ "type": "text",
214
+ "content": "{support}",
215
+ "font": "Fraunces",
216
+ "letterSpacing": 0,
217
+ "style": "italic",
218
+ "weight": 600,
219
+ "size": 14,
220
+ "axes": {
221
+ "SOFT": 100,
222
+ "WONK": 1,
223
+ "opsz": 14
224
+ },
225
+ "x": 200,
226
+ "y": 430,
227
+ "align": "center",
228
+ "color": "{pink}"
229
+ },
230
+ {
231
+ "id": "when",
232
+ "type": "text",
233
+ "content": "{when}",
234
+ "font": "Fraunces",
235
+ "letterSpacing": 0.02,
236
+ "weight": 900,
237
+ "size": 25,
238
+ "axes": {
239
+ "SOFT": 100,
240
+ "opsz": 72
241
+ },
242
+ "x": 200,
243
+ "y": 462,
244
+ "align": "center",
245
+ "color": "{cream}"
246
+ },
247
+ {
248
+ "id": "doors",
249
+ "type": "text",
250
+ "content": "{doors}",
251
+ "font": "Fraunces",
252
+ "letterSpacing": 0.2087,
253
+ "weight": 600,
254
+ "size": 11.5,
255
+ "axes": {
256
+ "SOFT": 100,
257
+ "opsz": 72
258
+ },
259
+ "x": 200,
260
+ "y": 485,
261
+ "align": "center",
262
+ "color": "{mustard}"
263
+ }
264
+ ]
265
+ },
266
+ {
267
+ "id": "cover",
268
+ "type": "group",
269
+ "viewBox": [
270
+ 0,
271
+ 0,
272
+ 400,
273
+ 400
274
+ ],
275
+ "fit": "contain",
276
+ "when": {
277
+ "aspect": "square"
278
+ },
279
+ "layers": [
280
+ {
281
+ "id": "rays",
282
+ "type": "shape",
283
+ "kind": "rays",
284
+ "cx": 200,
285
+ "cy": 262,
286
+ "r": 600,
287
+ "count": 36,
288
+ "rotate": 90,
289
+ "fill": "#f0d39b"
290
+ },
291
+ {
292
+ "id": "rainbow",
293
+ "type": "group",
294
+ "layers": [
295
+ {
296
+ "type": "shape",
297
+ "kind": "path",
298
+ "d": "M114.5 330V262A85.5 85.5 0 0 1 285.5 262V330",
299
+ "fill": "none",
300
+ "stroke": "{pink}",
301
+ "strokeWidth": 15.36
302
+ },
303
+ {
304
+ "type": "shape",
305
+ "kind": "path",
306
+ "d": "M99.5 330V262A100.5 100.5 0 0 1 300.5 262V330",
307
+ "fill": "none",
308
+ "stroke": "{mustard}",
309
+ "strokeWidth": 15.36
310
+ },
311
+ {
312
+ "type": "shape",
313
+ "kind": "path",
314
+ "d": "M84.5 330V262A115.5 115.5 0 0 1 315.5 262V330",
315
+ "fill": "none",
316
+ "stroke": "{orange}",
317
+ "strokeWidth": 15.36
318
+ },
319
+ {
320
+ "type": "shape",
321
+ "kind": "path",
322
+ "d": "M69.5 330V262A130.5 130.5 0 0 1 330.5 262V330",
323
+ "fill": "none",
324
+ "stroke": "{rust}",
325
+ "strokeWidth": 15.36
326
+ },
327
+ {
328
+ "type": "shape",
329
+ "kind": "path",
330
+ "d": "M54.5 330V262A145.5 145.5 0 0 1 345.5 262V330",
331
+ "fill": "none",
332
+ "stroke": "{brown}",
333
+ "strokeWidth": 15.36
334
+ }
335
+ ]
336
+ },
337
+ {
338
+ "type": "group",
339
+ "x": 0,
340
+ "y": 0,
341
+ "width": 400,
342
+ "height": 400,
343
+ "viewBox": [
344
+ 0,
345
+ 0,
346
+ 3200,
347
+ 3200
348
+ ],
349
+ "when": "photo",
350
+ "layers": [
351
+ {
352
+ "id": "photo",
353
+ "type": "image",
354
+ "src": "{photo}",
355
+ "x": 896,
356
+ "y": 1344,
357
+ "width": 1408,
358
+ "height": 1344,
359
+ "fit": "cover",
360
+ "effects": [
361
+ {
362
+ "kind": "duotone",
363
+ "colors": [
364
+ "#33140a",
365
+ "#b83814",
366
+ "#ed8c29",
367
+ "#fceac2"
368
+ ]
369
+ }
370
+ ],
371
+ "clip": [
372
+ {
373
+ "type": "shape",
374
+ "kind": "arch",
375
+ "x": 976,
376
+ "y": 1472,
377
+ "width": 1248,
378
+ "height": 1168
379
+ }
380
+ ]
381
+ }
382
+ ]
383
+ },
384
+ {
385
+ "id": "band",
386
+ "type": "shape",
387
+ "kind": "rect",
388
+ "x": 0,
389
+ "y": 330,
390
+ "width": 400,
391
+ "height": 70,
392
+ "fill": "{brown}"
393
+ },
394
+ {
395
+ "id": "name",
396
+ "type": "text",
397
+ "content": "{artist}",
398
+ "font": "Fraunces",
399
+ "letterSpacing": 0,
400
+ "weight": 900,
401
+ "size": 74,
402
+ "axes": {
403
+ "SOFT": 100,
404
+ "WONK": 1,
405
+ "opsz": 144
406
+ },
407
+ "path": {
408
+ "kind": "wave",
409
+ "x1": -20,
410
+ "x2": 420,
411
+ "y": 84,
412
+ "amplitude": 11,
413
+ "wavelength": 230,
414
+ "phase": 2.67
415
+ },
416
+ "startOffset": 0.5,
417
+ "color": "{orange}",
418
+ "strokes": [
419
+ {
420
+ "color": "{brown}",
421
+ "width": 15
422
+ },
423
+ {
424
+ "color": "{mustard}",
425
+ "width": 7
426
+ }
427
+ ]
428
+ },
429
+ {
430
+ "id": "badge",
431
+ "type": "shape",
432
+ "kind": "scallop",
433
+ "cx": 334,
434
+ "cy": 300,
435
+ "r": 41.2,
436
+ "points": 10,
437
+ "depth": 3.2,
438
+ "rotate": 90,
439
+ "fill": "{mustard}"
440
+ },
441
+ {
442
+ "id": "mark",
443
+ "type": "icon",
444
+ "markup": "{mark}",
445
+ "x": 308,
446
+ "y": 274,
447
+ "size": 52,
448
+ "color": "{brown}",
449
+ "when": "mark"
450
+ },
451
+ {
452
+ "id": "title",
453
+ "type": "text",
454
+ "content": {
455
+ "upper": "{release}"
456
+ },
457
+ "font": "Fraunces",
458
+ "letterSpacing": 0.02,
459
+ "weight": 900,
460
+ "size": 40,
461
+ "axes": {
462
+ "SOFT": 100,
463
+ "opsz": 72
464
+ },
465
+ "x": 200,
466
+ "y": 382,
467
+ "align": "center",
468
+ "color": "{cream}"
469
+ }
470
+ ]
471
+ },
472
+ {
473
+ "id": "grain",
474
+ "type": "grain",
475
+ "amount": 0.05,
476
+ "blend": "multiply"
477
+ }
478
+ ]
479
+ }