@arraypress/covers 1.1.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/README.md +18 -809
- package/package.json +3 -1
- package/recipes/flyers/afterglow-motion.json +540 -0
- package/recipes/flyers/afterglow.json +70 -0
- package/recipes/flyers/arcfield-mirror-motion.json +397 -0
- package/recipes/flyers/arcfield-mirror.json +364 -0
- package/recipes/flyers/bauhaus-oktav.json +319 -0
- package/recipes/flyers/bauhaus-ritmo.json +735 -0
- package/recipes/flyers/bauhaus-volta.json +394 -0
- package/recipes/flyers/bloomfall.json +99 -0
- package/recipes/flyers/drag-solenne-motion.json +444 -0
- package/recipes/flyers/drag-solenne.json +426 -0
- package/recipes/flyers/fennick-patches.json +874 -0
- package/recipes/flyers/ferro-pass.json +398 -0
- package/recipes/flyers/ferrova.json +812 -0
- package/recipes/flyers/grid-poster.json +91 -0
- package/recipes/flyers/grid-rest-rhythm.json +125 -0
- package/recipes/flyers/groovy-honeycomb.json +816 -0
- package/recipes/flyers/groovy-marigold.json +479 -0
- package/recipes/flyers/groovy-peachfuzz.json +974 -0
- package/recipes/flyers/halden-orbit-motion.json +381 -0
- package/recipes/flyers/halden-orbit.json +356 -0
- package/recipes/flyers/halvard.json +120 -0
- package/recipes/flyers/kairo-weekender.json +696 -0
- package/recipes/flyers/linger-motion.json +518 -0
- package/recipes/flyers/linger.json +67 -0
- package/recipes/flyers/little-orchard.json +105 -0
- package/recipes/flyers/lofi-hexmoth.json +912 -0
- package/recipes/flyers/lofi-lowbit-motion.json +888 -0
- package/recipes/flyers/lofi-lowbit.json +880 -0
- package/recipes/flyers/lofi-nullpoint.json +3013 -0
- package/recipes/flyers/logofolio.json +60 -0
- package/recipes/flyers/lumio-stack-motion.json +648 -0
- package/recipes/flyers/lumio-stack.json +438 -0
- package/recipes/flyers/magazine-cover.json +168 -0
- package/recipes/flyers/magazine-extended.json +269 -0
- package/recipes/flyers/magazine-knockout.json +40 -0
- package/recipes/flyers/northfold-varsity.json +618 -0
- package/recipes/flyers/open-studio.json +69 -0
- package/recipes/flyers/orrin-merch.json +715 -0
- package/recipes/flyers/oxyde.json +113 -0
- package/recipes/flyers/pixel-mosaic.json +58 -0
- package/recipes/flyers/quiet-fields.json +610 -0
- package/recipes/flyers/scrapbook-halcyon.json +948 -0
- package/recipes/flyers/solenne-ticket.json +730 -0
- package/recipes/flyers/solvane-motion.json +576 -0
- package/recipes/flyers/solvane.json +98 -0
- package/recipes/flyers/subduct.json +99 -0
- package/recipes/flyers/sunvale-lineup.json +584 -0
- package/recipes/flyers/tidewell.json +91 -0
- package/recipes/flyers/tour-kairo.json +535 -0
- package/recipes/flyers/velora-stickers.json +885 -0
- package/recipes/flyers/wheatpaste-black.json +313 -0
- package/recipes/flyers/wheatpaste-mark.json +198 -0
- package/recipes/flyers/wheatpaste-torn.json +114 -0
- package/recipes/flyers/wheatpaste-wall.json +984 -0
- package/recipes/flyers/wheatpaste-words.json +233 -0
- package/recipes/release/aura.json +137 -0
- package/recipes/release/chrome.json +433 -0
- package/recipes/release/collage.json +372 -0
- package/recipes/release/duotone.json +113 -0
- package/recipes/release/film-still.json +102 -0
- package/recipes/release/headline.json +70 -0
- package/recipes/release/instant.json +170 -0
- package/recipes/release/label.json +364 -0
- package/recipes/release/liquid-glass.json +301 -0
- package/recipes/release/odd-tile-dark.json +688 -0
- package/recipes/release/odd-tile-dense.json +1056 -0
- package/recipes/release/odd-tile-shift.json +541 -0
- package/recipes/release/odd-tile-split.json +571 -0
- package/recipes/release/odd-tile.json +633 -0
- package/recipes/release/off-edge.json +96 -0
- package/recipes/release/plinth.json +794 -0
- package/recipes/release/riso.json +108 -0
- package/recipes/release/series/fluid-label.json +561 -0
- package/recipes/release/series/fluid-pixel.json +334 -0
- package/recipes/release/series/hairline.json +305 -0
- package/recipes/release/series/halo.json +282 -0
- package/recipes/release/series/mark-crop.json +135 -0
- package/recipes/release/series/mark-window.json +150 -0
- package/recipes/release/series/photo-label.json +475 -0
- package/recipes/release/series/smear-field.json +345 -0
- package/recipes/release/series/smear.json +202 -0
- package/recipes/release/series/spin.json +172 -0
- package/recipes/release/series/split-ghost.json +230 -0
- package/recipes/release/series/zoom.json +168 -0
- package/recipes/release/small-print.json +114 -0
- package/recipes/release/stack.json +156 -0
- package/recipes/release/swiss.json +117 -0
- package/schema/recipe.schema.json +638 -69
- package/src/animate/index.d.ts +9 -19
- package/src/animate/index.js +6 -111
- package/src/animate/keyframes.d.ts +21 -0
- package/src/animate/keyframes.js +119 -0
- package/src/animate/marquee.d.ts +30 -0
- package/src/animate/marquee.js +93 -0
- package/src/animate/morph.d.ts +8 -0
- package/src/animate/morph.js +99 -0
- package/src/animate/motion.d.ts +59 -0
- package/src/animate/motion.js +63 -0
- package/src/animate/sheet.d.ts +19 -0
- package/src/animate/sheet.js +61 -0
- package/src/animate/timing.d.ts +28 -0
- package/src/animate/timing.js +146 -0
- package/src/animate/tracks.d.ts +18 -0
- package/src/animate/tracks.js +139 -0
- package/src/diagram.js +4 -3
- package/src/extract.js +2 -2
- package/src/fonts.js +1 -2
- package/src/geometry.js +4 -34
- package/src/grid.js +1 -1
- package/src/handmade.js +9 -7
- package/src/icons.js +1 -2
- package/src/index.d.ts +47 -54
- package/src/index.js +5 -5
- package/src/inter-data.js +1 -1
- package/src/json-recipe.js +28 -7
- package/src/layer-options.js +26 -4
- package/src/layers/barcode.js +3 -3
- package/src/layers/geometry.js +5 -5
- package/src/layers/index.d.ts +6 -0
- package/src/layers/index.js +3 -0
- package/src/layers/mark-geometry.d.ts +15 -0
- package/src/layers/mark-geometry.js +46 -0
- package/src/layers/marks.d.ts +25 -0
- package/src/layers/marks.js +102 -0
- package/src/layers/mosaic.d.ts +32 -0
- package/src/layers/mosaic.js +155 -0
- package/src/layers/perforation.js +3 -3
- package/src/layers/repeat.js +2 -2
- package/src/layers/shape.d.ts +2 -2
- package/src/layers/shape.js +5 -5
- package/src/layers/soft.js +2 -2
- package/src/layers/svg.js +2 -3
- package/src/layers/table.js +3 -3
- package/src/layers/tear.d.ts +1 -1
- package/src/layers/tear.js +4 -4
- package/src/layers/texture.js +3 -3
- package/src/layers/util.js +15 -2
- package/src/layers.js +17 -32
- package/src/{effects/paint.js → paint/index.js} +5 -5
- package/src/{effects/paint-presets.d.ts → paint/presets.d.ts} +1 -1
- package/src/{effects/paint-presets.js → paint/presets.js} +1 -1
- package/src/{effects → paint}/tile.d.ts +1 -1
- package/src/{effects → paint}/tile.js +4 -4
- package/src/palette.js +1 -1
- package/src/platform/files.d.ts +6 -0
- package/src/platform/files.js +41 -0
- package/src/platform/harfbuzz.js +1 -1
- package/src/platform/index.d.ts +3 -3
- package/src/platform/index.js +6 -4
- package/src/platform/load.js +1 -2
- package/src/print.js +9 -7
- package/src/recipes.js +1 -1
- package/src/render/backdrop.js +2 -2
- package/src/render/grain.js +1 -1
- package/src/render/group.js +3 -3
- package/src/render/key.js +1 -2
- package/src/{effects → render}/transform.d.ts +2 -1
- package/src/{effects → render}/transform.js +17 -5
- package/src/render/use.d.ts +1 -1
- package/src/render/use.js +2 -2
- package/src/render/wrap.js +5 -60
- package/src/render.js +55 -18
- package/src/text.js +1 -1
- package/src/type/auto-color.js +1 -1
- package/src/type/fallback.js +1 -1
- package/src/type/glyphs.js +2 -2
- package/src/type/line.js +1 -1
- package/src/type/live.js +1 -1
- package/src/type/path.js +2 -2
- package/src/type/pixel.d.ts +0 -2
- package/src/type/pixel.js +3 -33
- package/src/type/spans.d.ts +5 -1
- package/src/type/spans.js +28 -5
- package/src/type/symbols.d.ts +1 -1
- package/src/type/symbols.js +20 -2
- package/src/type/typeset.js +25 -10
- package/src/version.js +1 -1
- package/src/color.js +0 -246
- package/src/effects/ascii.d.ts +0 -7
- package/src/effects/ascii.js +0 -93
- package/src/effects/buffer.d.ts +0 -60
- package/src/effects/buffer.js +0 -472
- package/src/effects/detail.d.ts +0 -12
- package/src/effects/detail.js +0 -124
- package/src/effects/digital.d.ts +0 -14
- package/src/effects/digital.js +0 -216
- package/src/effects/distort.d.ts +0 -20
- package/src/effects/distort.js +0 -314
- package/src/effects/dither.d.ts +0 -8
- package/src/effects/dither.js +0 -147
- package/src/effects/drop-shadow.d.ts +0 -4
- package/src/effects/drop-shadow.js +0 -45
- package/src/effects/extrude.d.ts +0 -5
- package/src/effects/extrude.js +0 -55
- package/src/effects/film.d.ts +0 -11
- package/src/effects/film.js +0 -204
- package/src/effects/glow.d.ts +0 -8
- package/src/effects/glow.js +0 -56
- package/src/effects/grade.d.ts +0 -30
- package/src/effects/grade.js +0 -274
- package/src/effects/halftone.d.ts +0 -8
- package/src/effects/halftone.js +0 -95
- package/src/effects/index.d.ts +0 -125
- package/src/effects/index.js +0 -277
- package/src/effects/ink.d.ts +0 -12
- package/src/effects/ink.js +0 -70
- package/src/effects/lens.d.ts +0 -14
- package/src/effects/lens.js +0 -277
- package/src/effects/light.d.ts +0 -10
- package/src/effects/light.js +0 -59
- package/src/effects/looks.d.ts +0 -9
- package/src/effects/looks.js +0 -74
- package/src/effects/mask.d.ts +0 -52
- package/src/effects/mask.js +0 -314
- package/src/effects/motion.d.ts +0 -6
- package/src/effects/motion.js +0 -60
- package/src/effects/newsprint.d.ts +0 -6
- package/src/effects/newsprint.js +0 -89
- package/src/effects/optics.d.ts +0 -10
- package/src/effects/optics.js +0 -213
- package/src/effects/options.d.ts +0 -6
- package/src/effects/options.js +0 -106
- package/src/effects/pixels.d.ts +0 -24
- package/src/effects/pixels.js +0 -138
- package/src/effects/polar.d.ts +0 -10
- package/src/effects/polar.js +0 -265
- package/src/effects/region.d.ts +0 -8
- package/src/effects/region.js +0 -136
- package/src/effects/round-border.d.ts +0 -5
- package/src/effects/round-border.js +0 -62
- package/src/effects/screen.d.ts +0 -14
- package/src/effects/screen.js +0 -212
- package/src/effects/sort.d.ts +0 -8
- package/src/effects/sort.js +0 -125
- package/src/effects/symmetry.d.ts +0 -6
- package/src/effects/symmetry.js +0 -74
- package/src/effects/tone.d.ts +0 -16
- package/src/effects/tone.js +0 -117
- package/src/effects/util.d.ts +0 -16
- package/src/effects/util.js +0 -85
- package/src/platform/bytes.d.ts +0 -22
- package/src/platform/bytes.js +0 -103
- package/src/platform/compress.d.ts +0 -12
- package/src/platform/compress.js +0 -81
- package/src/platform/node.d.ts +0 -26
- package/src/platform/node.js +0 -86
- package/src/png.js +0 -126
- package/src/raster/index.d.ts +0 -24
- package/src/raster/index.js +0 -171
- package/src/render/content.d.ts +0 -5
- package/src/render/content.js +0 -58
- package/src/render/tiles.d.ts +0 -6
- package/src/render/tiles.js +0 -77
- package/src/rng.js +0 -95
- package/src/svg.js +0 -69
- /package/src/{effects/paint.d.ts → paint/index.d.ts} +0 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../schema/recipe.schema.json",
|
|
3
|
+
"name": "split-ghost",
|
|
4
|
+
"description": "Series (v2): one photo, seen two ways. The photo fills the cover as a duotone in the accent (deep to pale), and a large circle window shows the same photo in its true colour, in register, like a lens held over it, ringed in paper; the catalogue number runs up the left edge in a light weight, in paper; a paper band at the foot carries the artist and title on the left and the mark and the label's name on the right. The photo is defined once and drawn twice (defs/use). Slots: {photo}, {artist}, {title}, {catalog}, {label}, {mark}, the palette (bg = paper, accent = the duotone and the mark, text = type). Fonts: Manrope. {lensX}/{lensY} place the window over the subject.",
|
|
5
|
+
"requires": [
|
|
6
|
+
"photo",
|
|
7
|
+
"mark"
|
|
8
|
+
],
|
|
9
|
+
"params": {
|
|
10
|
+
"artist": "Artist",
|
|
11
|
+
"catalog": "",
|
|
12
|
+
"small": 30,
|
|
13
|
+
"lensX": 600,
|
|
14
|
+
"lensY": 400
|
|
15
|
+
},
|
|
16
|
+
"vars": {
|
|
17
|
+
"light": {
|
|
18
|
+
"mix": [
|
|
19
|
+
"@accent",
|
|
20
|
+
"@bg",
|
|
21
|
+
0.78
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"deep": {
|
|
25
|
+
"mix": [
|
|
26
|
+
"@accent",
|
|
27
|
+
"#000000",
|
|
28
|
+
0.5
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"layers": [
|
|
33
|
+
{
|
|
34
|
+
"id": "paper",
|
|
35
|
+
"type": "solid",
|
|
36
|
+
"color": "@bg"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "cover",
|
|
40
|
+
"type": "group",
|
|
41
|
+
"viewBox": [
|
|
42
|
+
0,
|
|
43
|
+
0,
|
|
44
|
+
1000,
|
|
45
|
+
1000
|
|
46
|
+
],
|
|
47
|
+
"fit": "cover",
|
|
48
|
+
"layers": [
|
|
49
|
+
{
|
|
50
|
+
"id": "shots",
|
|
51
|
+
"type": "defs",
|
|
52
|
+
"layers": [
|
|
53
|
+
{
|
|
54
|
+
"id": "shot",
|
|
55
|
+
"type": "image",
|
|
56
|
+
"src": "{photo}",
|
|
57
|
+
"x": 0,
|
|
58
|
+
"y": 0,
|
|
59
|
+
"width": 1000,
|
|
60
|
+
"height": 1000,
|
|
61
|
+
"fit": "cover",
|
|
62
|
+
"focus": "attention"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "ghost",
|
|
68
|
+
"type": "group",
|
|
69
|
+
"effects": [
|
|
70
|
+
{
|
|
71
|
+
"kind": "duotone",
|
|
72
|
+
"colors": [
|
|
73
|
+
"$deep",
|
|
74
|
+
"$light"
|
|
75
|
+
],
|
|
76
|
+
"contrast": 1.1
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"layers": [
|
|
80
|
+
{
|
|
81
|
+
"id": "ghostUse",
|
|
82
|
+
"type": "use",
|
|
83
|
+
"ref": "shot"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "lens",
|
|
89
|
+
"type": "group",
|
|
90
|
+
"clip": [
|
|
91
|
+
{
|
|
92
|
+
"id": "lensShape",
|
|
93
|
+
"type": "shape",
|
|
94
|
+
"kind": "circle",
|
|
95
|
+
"cx": "{lensX}",
|
|
96
|
+
"cy": "{lensY}",
|
|
97
|
+
"r": 290,
|
|
98
|
+
"fill": "#000000"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"layers": [
|
|
102
|
+
{
|
|
103
|
+
"id": "lensUse",
|
|
104
|
+
"type": "use",
|
|
105
|
+
"ref": "shot"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "lensRing",
|
|
111
|
+
"type": "shape",
|
|
112
|
+
"kind": "circle",
|
|
113
|
+
"cx": "{lensX}",
|
|
114
|
+
"cy": "{lensY}",
|
|
115
|
+
"r": 290,
|
|
116
|
+
"fill": "none",
|
|
117
|
+
"stroke": "@bg",
|
|
118
|
+
"strokeWidth": 7
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"id": "band",
|
|
122
|
+
"type": "shape",
|
|
123
|
+
"kind": "rect",
|
|
124
|
+
"x": 0,
|
|
125
|
+
"y": 852,
|
|
126
|
+
"width": 1000,
|
|
127
|
+
"height": 148,
|
|
128
|
+
"fill": "@bg"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "number",
|
|
132
|
+
"type": "text",
|
|
133
|
+
"when": "catalog",
|
|
134
|
+
"content": "{catalog}",
|
|
135
|
+
"font": "Manrope",
|
|
136
|
+
"weight": 300,
|
|
137
|
+
"size": 190,
|
|
138
|
+
"letterSpacing": -0.03,
|
|
139
|
+
"x": -800,
|
|
140
|
+
"y": 196,
|
|
141
|
+
"maxWidth": 700,
|
|
142
|
+
"fit": "shrink",
|
|
143
|
+
"maxLines": 1,
|
|
144
|
+
"color": "@bg",
|
|
145
|
+
"transform": {
|
|
146
|
+
"rotate": -90,
|
|
147
|
+
"origin": [
|
|
148
|
+
0,
|
|
149
|
+
0
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"id": "tick",
|
|
155
|
+
"type": "shape",
|
|
156
|
+
"kind": "line",
|
|
157
|
+
"x1": 58,
|
|
158
|
+
"y1": 40,
|
|
159
|
+
"x2": 58,
|
|
160
|
+
"y2": 100,
|
|
161
|
+
"stroke": "@bg",
|
|
162
|
+
"strokeWidth": 2
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "artist",
|
|
166
|
+
"type": "text",
|
|
167
|
+
"content": "{artist}",
|
|
168
|
+
"font": "Manrope",
|
|
169
|
+
"weight": 700,
|
|
170
|
+
"size": "{small}",
|
|
171
|
+
"letterSpacing": -0.01,
|
|
172
|
+
"x": 56,
|
|
173
|
+
"y": 910,
|
|
174
|
+
"maxWidth": 560,
|
|
175
|
+
"maxLines": 1,
|
|
176
|
+
"fit": "shrink",
|
|
177
|
+
"color": "@text"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "title",
|
|
181
|
+
"type": "text",
|
|
182
|
+
"content": "{title}",
|
|
183
|
+
"font": "Manrope",
|
|
184
|
+
"weight": 400,
|
|
185
|
+
"size": {
|
|
186
|
+
"mul": [
|
|
187
|
+
"{small}",
|
|
188
|
+
0.8
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
"x": 56,
|
|
192
|
+
"y": 950,
|
|
193
|
+
"maxWidth": 560,
|
|
194
|
+
"maxLines": 1,
|
|
195
|
+
"fit": "shrink",
|
|
196
|
+
"color": "@text"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"id": "markIcon",
|
|
200
|
+
"type": "icon",
|
|
201
|
+
"markup": "{mark}",
|
|
202
|
+
"x": 904,
|
|
203
|
+
"y": 884,
|
|
204
|
+
"size": 40,
|
|
205
|
+
"color": "@accent"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"id": "labelName",
|
|
209
|
+
"type": "text",
|
|
210
|
+
"content": {
|
|
211
|
+
"upper": "{label}"
|
|
212
|
+
},
|
|
213
|
+
"font": "Manrope",
|
|
214
|
+
"weight": 700,
|
|
215
|
+
"size": 14,
|
|
216
|
+
"letterSpacing": 0.24,
|
|
217
|
+
"x": 880,
|
|
218
|
+
"y": 912,
|
|
219
|
+
"align": "right",
|
|
220
|
+
"color": "@text"
|
|
221
|
+
}
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"id": "grain",
|
|
226
|
+
"type": "grain",
|
|
227
|
+
"amount": 0.035
|
|
228
|
+
}
|
|
229
|
+
]
|
|
230
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../schema/recipe.schema.json",
|
|
3
|
+
"name": "zoom",
|
|
4
|
+
"description": "Series (v2): a zoom tunnel. The photo is zoom-blurred with covers' zoom effect toward a point right of centre; the catalogue number is huge in a hairline outline, cropped off the right edge, with an extrusion stepping back into the blur; the label, the artist and the title sit in a small block top-left under a short rule. Slots: {photo}, {catalog}, {label}, {artist}, {title}, the palette (bg = the vignette, accent = the extrusion, text = type). Params: zoom (0\u20130.95). Fonts: Unbounded, Geist.",
|
|
5
|
+
"requires": [
|
|
6
|
+
"photo"
|
|
7
|
+
],
|
|
8
|
+
"params": {
|
|
9
|
+
"artist": "Artist",
|
|
10
|
+
"catalog": "",
|
|
11
|
+
"small": 28,
|
|
12
|
+
"zoom": 0.5
|
|
13
|
+
},
|
|
14
|
+
"layers": [
|
|
15
|
+
{
|
|
16
|
+
"id": "base",
|
|
17
|
+
"type": "solid",
|
|
18
|
+
"color": "@bg"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "cover",
|
|
22
|
+
"type": "group",
|
|
23
|
+
"viewBox": [
|
|
24
|
+
0,
|
|
25
|
+
0,
|
|
26
|
+
1000,
|
|
27
|
+
1000
|
|
28
|
+
],
|
|
29
|
+
"fit": "cover",
|
|
30
|
+
"layers": [
|
|
31
|
+
{
|
|
32
|
+
"id": "zoomed",
|
|
33
|
+
"type": "image",
|
|
34
|
+
"src": "{photo}",
|
|
35
|
+
"x": 0,
|
|
36
|
+
"y": 0,
|
|
37
|
+
"width": 1000,
|
|
38
|
+
"height": 1000,
|
|
39
|
+
"fit": "cover",
|
|
40
|
+
"effects": [
|
|
41
|
+
{
|
|
42
|
+
"kind": "zoom",
|
|
43
|
+
"amount": "{zoom}",
|
|
44
|
+
"center": [
|
|
45
|
+
0.68,
|
|
46
|
+
0.54
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"kind": "saturate",
|
|
51
|
+
"amount": 1.2
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "vignette",
|
|
57
|
+
"type": "shape",
|
|
58
|
+
"kind": "rect",
|
|
59
|
+
"x": 0,
|
|
60
|
+
"y": 0,
|
|
61
|
+
"width": 1000,
|
|
62
|
+
"height": 1000,
|
|
63
|
+
"fill": {
|
|
64
|
+
"type": "radial",
|
|
65
|
+
"colors": [
|
|
66
|
+
"@bg",
|
|
67
|
+
"@bg"
|
|
68
|
+
],
|
|
69
|
+
"opacities": [
|
|
70
|
+
0,
|
|
71
|
+
0.75
|
|
72
|
+
],
|
|
73
|
+
"stops": [
|
|
74
|
+
0.35,
|
|
75
|
+
1
|
|
76
|
+
],
|
|
77
|
+
"cx": 0.68,
|
|
78
|
+
"cy": 0.54,
|
|
79
|
+
"r": 0.75
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "number",
|
|
84
|
+
"type": "text",
|
|
85
|
+
"when": "catalog",
|
|
86
|
+
"content": "{catalog}",
|
|
87
|
+
"font": "Unbounded",
|
|
88
|
+
"weight": 700,
|
|
89
|
+
"size": 560,
|
|
90
|
+
"letterSpacing": -0.04,
|
|
91
|
+
"x": 1070,
|
|
92
|
+
"y": 760,
|
|
93
|
+
"align": "right",
|
|
94
|
+
"maxWidth": 1000,
|
|
95
|
+
"fit": "shrink",
|
|
96
|
+
"fill": "none",
|
|
97
|
+
"stroke": "@text",
|
|
98
|
+
"strokeWidth": 2.2,
|
|
99
|
+
"extrude": {
|
|
100
|
+
"depth": 40,
|
|
101
|
+
"angle": 200,
|
|
102
|
+
"color": "@accent",
|
|
103
|
+
"to": "@bg",
|
|
104
|
+
"steps": 12
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "label",
|
|
109
|
+
"type": "text",
|
|
110
|
+
"content": {
|
|
111
|
+
"upper": "{label}"
|
|
112
|
+
},
|
|
113
|
+
"font": "Unbounded",
|
|
114
|
+
"weight": 600,
|
|
115
|
+
"size": 20,
|
|
116
|
+
"letterSpacing": 0.2,
|
|
117
|
+
"x": 56,
|
|
118
|
+
"y": 78,
|
|
119
|
+
"color": "@text"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "rule",
|
|
123
|
+
"type": "shape",
|
|
124
|
+
"kind": "line",
|
|
125
|
+
"x1": 58,
|
|
126
|
+
"y1": 104,
|
|
127
|
+
"x2": 330,
|
|
128
|
+
"y2": 104,
|
|
129
|
+
"stroke": "@text",
|
|
130
|
+
"strokeWidth": 1.3
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"id": "artist",
|
|
134
|
+
"type": "text",
|
|
135
|
+
"content": "{artist}",
|
|
136
|
+
"font": "Geist",
|
|
137
|
+
"weight": 600,
|
|
138
|
+
"size": "{small}",
|
|
139
|
+
"x": 56,
|
|
140
|
+
"y": 150,
|
|
141
|
+
"maxWidth": 380,
|
|
142
|
+
"fit": "shrink",
|
|
143
|
+
"maxLines": 1,
|
|
144
|
+
"color": "@text"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "title",
|
|
148
|
+
"type": "text",
|
|
149
|
+
"content": "{title}",
|
|
150
|
+
"font": "Geist",
|
|
151
|
+
"weight": 400,
|
|
152
|
+
"size": "{small}",
|
|
153
|
+
"x": 56,
|
|
154
|
+
"y": 186,
|
|
155
|
+
"maxWidth": 380,
|
|
156
|
+
"fit": "shrink",
|
|
157
|
+
"maxLines": 1,
|
|
158
|
+
"color": "@text"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"id": "grain",
|
|
164
|
+
"type": "grain",
|
|
165
|
+
"amount": 0.07
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/recipe.schema.json",
|
|
3
|
+
"name": "small-print",
|
|
4
|
+
"description": "Photo, full bleed, nothing else but the artist and title set small in white in the bottom-left corner, over a faint scrim and a soft shadow so they read on any photo. Slots: {name} (artist), {title} (release), {photo}, `focus` (the crop: center, left, right, attention). Fonts: Inter Tight (register them as TTF/WOFF; WOFF2 can't be outlined).",
|
|
5
|
+
"requires": [
|
|
6
|
+
"photo"
|
|
7
|
+
],
|
|
8
|
+
"params": {
|
|
9
|
+
"focus": "center",
|
|
10
|
+
"ink": "#ffffff"
|
|
11
|
+
},
|
|
12
|
+
"layers": [
|
|
13
|
+
{
|
|
14
|
+
"id": "photo",
|
|
15
|
+
"type": "image",
|
|
16
|
+
"src": "{photo}",
|
|
17
|
+
"fit": "cover",
|
|
18
|
+
"focus": "{focus}"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "scrim",
|
|
22
|
+
"type": "linear",
|
|
23
|
+
"angle": 180,
|
|
24
|
+
"colors": [
|
|
25
|
+
"#000000",
|
|
26
|
+
"#000000"
|
|
27
|
+
],
|
|
28
|
+
"opacities": [
|
|
29
|
+
0,
|
|
30
|
+
0.38
|
|
31
|
+
],
|
|
32
|
+
"opacity": 1,
|
|
33
|
+
"mask": [
|
|
34
|
+
{
|
|
35
|
+
"type": "linear",
|
|
36
|
+
"angle": 180,
|
|
37
|
+
"colors": [
|
|
38
|
+
"#000000",
|
|
39
|
+
"#000000",
|
|
40
|
+
"#ffffff"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "cover",
|
|
47
|
+
"type": "group",
|
|
48
|
+
"viewBox": [
|
|
49
|
+
0,
|
|
50
|
+
0,
|
|
51
|
+
1000,
|
|
52
|
+
1000
|
|
53
|
+
],
|
|
54
|
+
"fit": "cover",
|
|
55
|
+
"layers": [
|
|
56
|
+
{
|
|
57
|
+
"id": "name",
|
|
58
|
+
"type": "text",
|
|
59
|
+
"content": "{name}",
|
|
60
|
+
"font": "Inter Tight",
|
|
61
|
+
"weight": 600,
|
|
62
|
+
"size": 86,
|
|
63
|
+
"letterSpacing": -0.025,
|
|
64
|
+
"x": 48,
|
|
65
|
+
"y": 862,
|
|
66
|
+
"maxWidth": 904,
|
|
67
|
+
"maxLines": 1,
|
|
68
|
+
"fit": "shrink",
|
|
69
|
+
"color": "{ink}",
|
|
70
|
+
"effects": [
|
|
71
|
+
{
|
|
72
|
+
"kind": "shadow",
|
|
73
|
+
"x": 0,
|
|
74
|
+
"y": 2,
|
|
75
|
+
"blur": 10,
|
|
76
|
+
"color": "#000000",
|
|
77
|
+
"opacity": 0.35
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "title",
|
|
83
|
+
"type": "text",
|
|
84
|
+
"content": "{title}",
|
|
85
|
+
"font": "Inter Tight",
|
|
86
|
+
"weight": 400,
|
|
87
|
+
"size": 86,
|
|
88
|
+
"letterSpacing": -0.025,
|
|
89
|
+
"x": 48,
|
|
90
|
+
"y": 952,
|
|
91
|
+
"maxWidth": 904,
|
|
92
|
+
"maxLines": 1,
|
|
93
|
+
"fit": "shrink",
|
|
94
|
+
"color": "{ink}",
|
|
95
|
+
"effects": [
|
|
96
|
+
{
|
|
97
|
+
"kind": "shadow",
|
|
98
|
+
"x": 0,
|
|
99
|
+
"y": 2,
|
|
100
|
+
"blur": 10,
|
|
101
|
+
"color": "#000000",
|
|
102
|
+
"opacity": 0.35
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"id": "grain",
|
|
110
|
+
"type": "grain",
|
|
111
|
+
"amount": 0.06
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/recipe.schema.json",
|
|
3
|
+
"name": "stack",
|
|
4
|
+
"description": "Brutalist type: the artist three times, condensed, stretched tall and stacked edge to edge (the middle one in outline), and the title in a solid bar across the foot. Slots: {name} (artist), {title} (release), the palette (bg, text, accent). Fonts: Big Shoulders Display, Space Mono Bold (register them as TTF/WOFF; WOFF2 can't be outlined).",
|
|
5
|
+
"vars": {
|
|
6
|
+
"est": {
|
|
7
|
+
"div": [
|
|
8
|
+
940,
|
|
9
|
+
{
|
|
10
|
+
"mul": [
|
|
11
|
+
{
|
|
12
|
+
"length": "{name}"
|
|
13
|
+
},
|
|
14
|
+
0.43
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"sy": {
|
|
20
|
+
"min": [
|
|
21
|
+
5,
|
|
22
|
+
{
|
|
23
|
+
"max": [
|
|
24
|
+
1,
|
|
25
|
+
{
|
|
26
|
+
"div": [
|
|
27
|
+
226,
|
|
28
|
+
{
|
|
29
|
+
"mul": [
|
|
30
|
+
"$est",
|
|
31
|
+
0.8
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"layers": [
|
|
42
|
+
{
|
|
43
|
+
"id": "page",
|
|
44
|
+
"type": "solid",
|
|
45
|
+
"color": "@bg"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "cover",
|
|
49
|
+
"type": "group",
|
|
50
|
+
"viewBox": [
|
|
51
|
+
0,
|
|
52
|
+
0,
|
|
53
|
+
1000,
|
|
54
|
+
1000
|
|
55
|
+
],
|
|
56
|
+
"fit": "cover",
|
|
57
|
+
"layers": [
|
|
58
|
+
{
|
|
59
|
+
"id": "one",
|
|
60
|
+
"type": "text",
|
|
61
|
+
"content": {
|
|
62
|
+
"upper": "{name}"
|
|
63
|
+
},
|
|
64
|
+
"font": "Big Shoulders Display",
|
|
65
|
+
"weight": 900,
|
|
66
|
+
"size": "$est",
|
|
67
|
+
"letterSpacing": 0.035,
|
|
68
|
+
"x": 30,
|
|
69
|
+
"y": 262,
|
|
70
|
+
"width": 940,
|
|
71
|
+
"fit": "width",
|
|
72
|
+
"stretch": [
|
|
73
|
+
1,
|
|
74
|
+
"$sy"
|
|
75
|
+
],
|
|
76
|
+
"color": "@text"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "two",
|
|
80
|
+
"type": "text",
|
|
81
|
+
"content": {
|
|
82
|
+
"upper": "{name}"
|
|
83
|
+
},
|
|
84
|
+
"font": "Big Shoulders Display",
|
|
85
|
+
"weight": 900,
|
|
86
|
+
"size": "$est",
|
|
87
|
+
"letterSpacing": 0.035,
|
|
88
|
+
"x": 30,
|
|
89
|
+
"y": 512,
|
|
90
|
+
"width": 940,
|
|
91
|
+
"fit": "width",
|
|
92
|
+
"stretch": [
|
|
93
|
+
1,
|
|
94
|
+
"$sy"
|
|
95
|
+
],
|
|
96
|
+
"fill": "none",
|
|
97
|
+
"stroke": "@text",
|
|
98
|
+
"strokeWidth": 3
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "three",
|
|
102
|
+
"type": "text",
|
|
103
|
+
"content": {
|
|
104
|
+
"upper": "{name}"
|
|
105
|
+
},
|
|
106
|
+
"font": "Big Shoulders Display",
|
|
107
|
+
"weight": 900,
|
|
108
|
+
"size": "$est",
|
|
109
|
+
"letterSpacing": 0.035,
|
|
110
|
+
"x": 30,
|
|
111
|
+
"y": 762,
|
|
112
|
+
"width": 940,
|
|
113
|
+
"fit": "width",
|
|
114
|
+
"stretch": [
|
|
115
|
+
1,
|
|
116
|
+
"$sy"
|
|
117
|
+
],
|
|
118
|
+
"color": "@accent"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"id": "bar",
|
|
122
|
+
"type": "shape",
|
|
123
|
+
"kind": "rect",
|
|
124
|
+
"x": 0,
|
|
125
|
+
"y": 800,
|
|
126
|
+
"width": 1000,
|
|
127
|
+
"height": 200,
|
|
128
|
+
"fill": "@text"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "title",
|
|
132
|
+
"type": "text",
|
|
133
|
+
"content": {
|
|
134
|
+
"upper": "{title}"
|
|
135
|
+
},
|
|
136
|
+
"font": "Space Mono",
|
|
137
|
+
"weight": 700,
|
|
138
|
+
"size": 92,
|
|
139
|
+
"letterSpacing": -0.04,
|
|
140
|
+
"x": 30,
|
|
141
|
+
"y": 932,
|
|
142
|
+
"maxWidth": 940,
|
|
143
|
+
"maxLines": 1,
|
|
144
|
+
"fit": "shrink",
|
|
145
|
+
"color": "@bg"
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "grain",
|
|
151
|
+
"type": "grain",
|
|
152
|
+
"amount": 0.06,
|
|
153
|
+
"blend": "multiply"
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|