@arraypress/covers 1.6.1 → 1.7.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 +6 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/recipes/flyers/terminal-poster.json +188 -0
- package/src/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,12 @@ All notable changes to `@arraypress/covers` are documented here.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.7.0] — 2026-11-07
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **`terminal-poster`**, on the 400-wide grid (4:5, 1:1, 9:16 and A-series portrait): a terminal / crypto launch poster in acid lime (`#c8ff00`, any `ink`) on black (`ground`), set like a HUD readout. A lime bar across the top with the terminal line, a small nested-square icon and a seeded code (`480-A<3.56.7.128>`); `INIT` in outline type; a small mono log under it (`CORE REVIEW [START]`, `CORE 1`–`CORE 6 …… OK` in three columns with dot leaders, `CORES STABLE`, `RESULTS [PRNTD]`); a big lime panel with chamfered corners, a tab and a notch along its top and foot, holding the mark large in the ground colour (or, with `pixel: true`, rastered into square cells through `@logomarks/core`'s `pixelCells`, `cells` across), tiny serials mirrored in two corners and a 3 × 3 dot grid; a row of HUD glyphs (a barcode, a crosshair, an ×, a square target, two seeded two-digit numbers); the `headline` (`Launch`) huge in a lime panel, fitted to its width and stretched taller on tall canvases; a notched footer with the name and a sign-off; short ticks down both margins. Options `name`, `headline`, `ink`, `ground`, `pixel`, `cells`, and the meta strings `init`, `terminal`, `code`, `serial`, `log` (`[start, stable, results]`), `core`, `status`, `signoff`. The display face is `font` (`Rubik Mono One` by default, OFL, not bundled: register it, or Inter stands in), the small type `mono` (`Space Mono`). The code, serial and numbers follow the seed.
|
|
13
|
+
|
|
8
14
|
## [1.6.1] — 2026-11-06
|
|
9
15
|
|
|
10
16
|
### Added
|
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ await writeFile('public/covers/introducing-covers.webp', webp);
|
|
|
36
36
|
- [API](https://github.com/arraypress/covers/blob/main/docs/api.md): every export and cover option
|
|
37
37
|
- [Layers](https://github.com/arraypress/covers/blob/main/docs/layers.md): mesh, grain, text, diagrams, riso inks, dithers, poster type and more
|
|
38
38
|
- [Effects](https://github.com/arraypress/covers/blob/main/docs/effects.md): filters and pixel effects on any layer, masks, paints
|
|
39
|
-
- [Recipes](https://github.com/arraypress/covers/blob/main/docs/recipes.md): seventeen built-ins,
|
|
39
|
+
- [Recipes](https://github.com/arraypress/covers/blob/main/docs/recipes.md): seventeen built-ins, 92 flyers and release covers, your own
|
|
40
40
|
- [JSON recipes](https://github.com/arraypress/covers/blob/main/docs/json-recipes.md): a cover style as data, with no JavaScript
|
|
41
41
|
- [Palettes](https://github.com/arraypress/covers/blob/main/docs/palettes.md): presets, one accent, a theme's tokens
|
|
42
42
|
- [Formats, print and brand kits](https://github.com/arraypress/covers/blob/main/docs/formats.md): social sizes with safe zones, print with bleed, `kit`, `lint`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arraypress/covers",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Covers, flyers, posters, release art, social formats and print stationery from one seed and a stack of layers: mesh gradients, grain, riso inks and halftones, knockout and justified type, torn paper, barcodes, safe zones and bleed, as SVG or WebP/PNG/AVIF/JPEG. Recipes are JSON. Runs in Node, browsers and Cloudflare Workers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/recipe.schema.json",
|
|
3
|
+
"name": "terminal-poster",
|
|
4
|
+
"description": "Terminal launch poster: acid lime (any ink) on black, set like a HUD readout. A lime bar across the top with the terminal line, a small nested-square icon and a seeded code (480-A<3.56.7.128>); INIT in outline type; a small mono log under it (CORE REVIEW [START], CORE 1–6 … OK in three columns with dot leaders, CORES STABLE, RESULTS [PRNTD]); a big lime panel with chamfered corners, a tab and a notch along its top and foot, holding the mark large in the ground colour (or, with pixel: true, rastered into square cells, @logomarks/core's pixelCells), tiny serials mirrored in two corners and a 3 × 3 dot grid; a row of HUD glyphs (a barcode, a crosshair, an ×, a square target, two seeded two-digit numbers); the headline huge in a lime panel, fitted to its width; and a notched lime footer with the name. Short ticks run down both margins. The display face is font (Rubik Mono One by default: wide, mono, OFL; register it, or it falls back to Inter); the small type is mono (Space Mono). Drawn on a 400-wide grid as tall as the canvas, so it sets at 4:5, 1:1, 9:16 and A-series portrait alike; the code, serial and numbers follow the seed.",
|
|
5
|
+
"params": { "name": "Kestrel", "headline": "Launch", "init": "Init", "terminal": "Public access terminal", "code": "", "serial": "", "log": ["Core review [start]", "Cores stable", "Results [prntd]"], "core": "Core", "status": "OK", "signoff": "End of line", "pixel": false, "cells": 20, "font": "Rubik Mono One", "mono": "Space Mono", "ink": "#c8ff00", "ground": "#000000" },
|
|
6
|
+
"vars": {
|
|
7
|
+
"h": { "mul": [400, { "div": ["@height", "@width"] }] },
|
|
8
|
+
"tall": { "min": [1.45, { "max": [0.9, { "div": ["$h", 500] }] }] },
|
|
9
|
+
"pt": 131,
|
|
10
|
+
"fb": { "sub": ["$h", 10] },
|
|
11
|
+
"ft": { "sub": ["$h", 24] },
|
|
12
|
+
"hb": { "sub": ["$h", 32] },
|
|
13
|
+
"ht": { "sub": [{ "sub": ["$h", 32] }, { "mul": [66, "$tall"] }] },
|
|
14
|
+
"gy": { "sub": ["$ht", 30] },
|
|
15
|
+
"pb": { "sub": ["$ht", 42] },
|
|
16
|
+
"c1": { "int": [100, 999] },
|
|
17
|
+
"c2": { "pick": ["A", "B", "C", "D", "E", "F", "H", "K", "M", "R", "X"] },
|
|
18
|
+
"c3": { "int": [1, 9] },
|
|
19
|
+
"c4": { "int": [10, 99] },
|
|
20
|
+
"c5": { "int": [1, 9] },
|
|
21
|
+
"c6": { "int": [100, 255] },
|
|
22
|
+
"s1": { "int": [1000, 9999] },
|
|
23
|
+
"s2": { "pick": ["A", "C", "K", "R", "T", "X", "Z"] },
|
|
24
|
+
"s3": { "int": [10, 99] },
|
|
25
|
+
"s4": { "int": [10, 99] },
|
|
26
|
+
"v1": { "int": [1, 9] },
|
|
27
|
+
"v2": { "int": [10, 99] },
|
|
28
|
+
"n1": { "int": [10, 99] },
|
|
29
|
+
"n2": { "int": [10, 99] }
|
|
30
|
+
},
|
|
31
|
+
"layers": [
|
|
32
|
+
{ "id": "ground", "type": "solid", "color": "{ground}" },
|
|
33
|
+
{
|
|
34
|
+
"id": "poster",
|
|
35
|
+
"type": "group",
|
|
36
|
+
"viewBox": [0, 0, 400, "$h"],
|
|
37
|
+
"fit": "contain",
|
|
38
|
+
"layers": [
|
|
39
|
+
{ "id": "ticks", "type": "repeat", "count": { "floor": { "div": [{ "sub": ["$h", 28] }, 6] } }, "x": 0, "y": 14, "step": [0, 6], "layer": { "type": "shape", "items": [{ "kind": "line", "x1": 5, "y1": 0, "x2": "{#i % 5 ? 8 : 10}", "y2": 0 }, { "kind": "line", "x1": 395, "y1": 0, "x2": "{#i % 5 ? 392 : 390}", "y2": 0 }], "stroke": "{ink}", "strokeWidth": 0.6, "opacity": 0.7 } },
|
|
40
|
+
{ "id": "band", "type": "shape", "kind": "polygon", "points": [[16, 14], [384, 14], [384, 26], [378, 32], [16, 32]], "fill": "{ink}" },
|
|
41
|
+
{ "id": "icon", "type": "shape", "items": [{ "kind": "rect", "x": 21.5, "y": 17.5, "width": 11, "height": 11, "fill": "none", "stroke": "{ground}", "strokeWidth": 1 }, { "kind": "rect", "x": 24.5, "y": 20.5, "width": 5, "height": 5, "fill": "{ground}" }], "fill": "{ground}" },
|
|
42
|
+
{ "id": "terminal", "type": "text", "content": "{terminal}", "font": "{mono}", "weight": 700, "size": 7.5, "letterSpacing": 0.02, "x": 38, "y": 26, "maxWidth": 200, "maxLines": 1, "color": "{ground}", "transform": "uppercase" },
|
|
43
|
+
{ "id": "code", "type": "text", "content": { "if": "code", "then": "{code}", "else": { "join": [["$c1", "-", "$c2", "<", "$c3", ".", "$c4", ".", "$c5", ".", "$c6", ">"], ""] } }, "font": "{mono}", "weight": 700, "size": 7.5, "letterSpacing": 0.02, "x": 376, "y": 26, "maxWidth": 130, "maxLines": 1, "color": "{ground}", "align": "right" },
|
|
44
|
+
{ "id": "init", "type": "text", "content": "{init}", "when": "init", "transform": "uppercase", "font": "{font}", "weight": 700, "size": 34, "letterSpacing": 0.04, "x": 15, "y": 72, "maxWidth": 200, "maxLines": 1, "fill": "none", "stroke": "{ink}", "strokeWidth": 0.8, "color": "{ink}" },
|
|
45
|
+
{ "id": "boot", "type": "text", "content": { "join": [["SYS", "$v1", ".", "$v2", " // ", "{name}"], ""] }, "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 384, "y": 52, "maxWidth": 170, "maxLines": 1, "color": "{ink}", "align": "right", "transform": "uppercase", "opacity": 0.75 },
|
|
46
|
+
{ "id": "rule", "type": "shape", "kind": "line", "x1": 214, "y1": 61, "x2": 384, "y2": 61, "stroke": "{ink}", "strokeWidth": 0.6, "dash": [1.2, 1.6] },
|
|
47
|
+
{ "id": "mode", "type": "text", "content": { "join": [["RUN ", "$n1", "/", "$n2", " ▶"], ""] }, "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 384, "y": 72, "maxWidth": 170, "maxLines": 1, "color": "{ink}", "align": "right", "opacity": 0.75 },
|
|
48
|
+
{ "id": "start", "type": "text", "content": "{log.0}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 16, "y": 88, "maxWidth": 170, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
49
|
+
{ "id": "core1", "type": "text", "content": "{core} 1", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 16, "y": 99, "maxWidth": 70, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
50
|
+
{ "id": "ok1", "type": "text", "content": "{status}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 134, "y": 99, "maxWidth": 40, "maxLines": 1, "color": "{ink}", "align": "right", "transform": "uppercase" },
|
|
51
|
+
{ "id": "core2", "type": "text", "content": "{core} 2", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 141, "y": 99, "maxWidth": 70, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
52
|
+
{ "id": "ok2", "type": "text", "content": "{status}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 259, "y": 99, "maxWidth": 40, "maxLines": 1, "color": "{ink}", "align": "right", "transform": "uppercase" },
|
|
53
|
+
{ "id": "core3", "type": "text", "content": "{core} 3", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 266, "y": 99, "maxWidth": 70, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
54
|
+
{ "id": "ok3", "type": "text", "content": "{status}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 384, "y": 99, "maxWidth": 40, "maxLines": 1, "color": "{ink}", "align": "right", "transform": "uppercase" },
|
|
55
|
+
{ "id": "core4", "type": "text", "content": "{core} 4", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 16, "y": 108, "maxWidth": 70, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
56
|
+
{ "id": "ok4", "type": "text", "content": "{status}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 134, "y": 108, "maxWidth": 40, "maxLines": 1, "color": "{ink}", "align": "right", "transform": "uppercase" },
|
|
57
|
+
{ "id": "core5", "type": "text", "content": "{core} 5", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 141, "y": 108, "maxWidth": 70, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
58
|
+
{ "id": "ok5", "type": "text", "content": "{status}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 259, "y": 108, "maxWidth": 40, "maxLines": 1, "color": "{ink}", "align": "right", "transform": "uppercase" },
|
|
59
|
+
{ "id": "core6", "type": "text", "content": "{core} 6", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 266, "y": 108, "maxWidth": 70, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
60
|
+
{ "id": "ok6", "type": "text", "content": "{status}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 384, "y": 108, "maxWidth": 40, "maxLines": 1, "color": "{ink}", "align": "right", "transform": "uppercase" },
|
|
61
|
+
{
|
|
62
|
+
"id": "leaders",
|
|
63
|
+
"type": "shape",
|
|
64
|
+
"items": [
|
|
65
|
+
{ "kind": "line", "x1": "{layout.core1.right + 3}", "y1": 98.6, "x2": "{layout.ok1.left - 3}", "y2": 98.6 },
|
|
66
|
+
{ "kind": "line", "x1": "{layout.core2.right + 3}", "y1": 98.6, "x2": "{layout.ok2.left - 3}", "y2": 98.6 },
|
|
67
|
+
{ "kind": "line", "x1": "{layout.core3.right + 3}", "y1": 98.6, "x2": "{layout.ok3.left - 3}", "y2": 98.6 },
|
|
68
|
+
{ "kind": "line", "x1": "{layout.core4.right + 3}", "y1": 107.6, "x2": "{layout.ok4.left - 3}", "y2": 107.6 },
|
|
69
|
+
{ "kind": "line", "x1": "{layout.core5.right + 3}", "y1": 107.6, "x2": "{layout.ok5.left - 3}", "y2": 107.6 },
|
|
70
|
+
{ "kind": "line", "x1": "{layout.core6.right + 3}", "y1": 107.6, "x2": "{layout.ok6.left - 3}", "y2": 107.6 }
|
|
71
|
+
],
|
|
72
|
+
"stroke": "{ink}",
|
|
73
|
+
"strokeWidth": 0.9,
|
|
74
|
+
"dash": [0.9, 1.5]
|
|
75
|
+
},
|
|
76
|
+
{ "id": "stable", "type": "text", "content": "{log.1}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 16, "y": 119, "maxWidth": 170, "maxLines": 1, "color": "{ink}", "transform": "uppercase" },
|
|
77
|
+
{ "id": "results", "type": "text", "content": "{log.2}", "font": "{mono}", "weight": 700, "size": 6, "letterSpacing": 0.02, "x": 384, "y": 119, "maxWidth": 170, "maxLines": 1, "color": "{ink}", "transform": "uppercase", "align": "right" },
|
|
78
|
+
{
|
|
79
|
+
"id": "panel",
|
|
80
|
+
"type": "shape",
|
|
81
|
+
"kind": "polygon",
|
|
82
|
+
"points": [
|
|
83
|
+
[16, { "add": ["$pt", 8] }],
|
|
84
|
+
[24, "$pt"],
|
|
85
|
+
[60, "$pt"],
|
|
86
|
+
[65, { "add": ["$pt", -5] }],
|
|
87
|
+
[136, { "add": ["$pt", -5] }],
|
|
88
|
+
[141, "$pt"],
|
|
89
|
+
[250, "$pt"],
|
|
90
|
+
[255, { "add": ["$pt", 5] }],
|
|
91
|
+
[300, { "add": ["$pt", 5] }],
|
|
92
|
+
[305, "$pt"],
|
|
93
|
+
[384, "$pt"],
|
|
94
|
+
[384, { "add": ["$pb", -8] }],
|
|
95
|
+
[376, "$pb"],
|
|
96
|
+
[340, "$pb"],
|
|
97
|
+
[335, { "add": ["$pb", 5] }],
|
|
98
|
+
[264, { "add": ["$pb", 5] }],
|
|
99
|
+
[259, "$pb"],
|
|
100
|
+
[150, "$pb"],
|
|
101
|
+
[145, { "add": ["$pb", -5] }],
|
|
102
|
+
[100, { "add": ["$pb", -5] }],
|
|
103
|
+
[95, "$pb"],
|
|
104
|
+
[16, "$pb"]
|
|
105
|
+
],
|
|
106
|
+
"fill": "{ink}"
|
|
107
|
+
},
|
|
108
|
+
{ "id": "mark", "type": "outline", "when": { "all": ["mark", { "not": "pixel" }] }, "markup": "{mark}", "lines": 0, "x": 40, "y": { "add": ["$pt", 22] }, "width": 320, "height": { "sub": [{ "sub": ["$pb", "$pt"] }, 44] }, "color": "{ground}" },
|
|
109
|
+
{ "id": "pixels", "type": "mosaic", "when": { "all": ["mark", "pixel"] }, "markup": "{mark}", "x": 40, "y": { "add": ["$pt", 22] }, "width": 320, "height": { "sub": [{ "sub": ["$pb", "$pt"] }, 44] }, "cells": "{cells}", "drop": 0, "gap": 0.08, "color": "{ground}" },
|
|
110
|
+
{ "id": "serial", "type": "text", "content": { "if": "serial", "then": "{serial}", "else": { "join": [["SN.", "$s1", "-", "$s2", "$s3", " / LOT ", "$s4"], ""] } }, "font": "{mono}", "weight": 700, "size": 5, "letterSpacing": 0.02, "x": 26, "y": { "add": ["$pt", 15] }, "maxWidth": 120, "maxLines": 1, "color": "{ground}" },
|
|
111
|
+
{
|
|
112
|
+
"id": "mirror",
|
|
113
|
+
"type": "group",
|
|
114
|
+
"transform": { "rotate": 180, "origin": [374, { "sub": ["$pb", 15] }] },
|
|
115
|
+
"layers": [{ "id": "serialMirror", "type": "text", "content": { "if": "serial", "then": "{serial}", "else": { "join": [["SN.", "$s1", "-", "$s2", "$s3", " / LOT ", "$s4"], ""] } }, "font": "{mono}", "weight": 700, "size": 5, "letterSpacing": 0.02, "x": 374, "y": { "sub": ["$pb", 15] }, "maxWidth": 120, "maxLines": 1, "color": "{ground}" }]
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "dots",
|
|
119
|
+
"type": "shape",
|
|
120
|
+
"fill": "{ground}",
|
|
121
|
+
"items": [
|
|
122
|
+
{ "kind": "circle", "cx": 362, "cy": { "add": ["$pt", 10] }, "r": 1.1 },
|
|
123
|
+
{ "kind": "circle", "cx": 368, "cy": { "add": ["$pt", 10] }, "r": 1.1 },
|
|
124
|
+
{ "kind": "circle", "cx": 374, "cy": { "add": ["$pt", 10] }, "r": 1.1 },
|
|
125
|
+
{ "kind": "circle", "cx": 362, "cy": { "add": ["$pt", 16] }, "r": 1.1 },
|
|
126
|
+
{ "kind": "circle", "cx": 368, "cy": { "add": ["$pt", 16] }, "r": 1.1 },
|
|
127
|
+
{ "kind": "circle", "cx": 374, "cy": { "add": ["$pt", 16] }, "r": 1.1 },
|
|
128
|
+
{ "kind": "circle", "cx": 362, "cy": { "add": ["$pt", 22] }, "r": 1.1 },
|
|
129
|
+
{ "kind": "circle", "cx": 368, "cy": { "add": ["$pt", 22] }, "r": 1.1 },
|
|
130
|
+
{ "kind": "circle", "cx": 374, "cy": { "add": ["$pt", 22] }, "r": 1.1 }
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{ "id": "barcode", "type": "barcode", "kind": "seeded", "x": 16, "y": "$gy", "width": 76, "height": 18, "color": "{ink}" },
|
|
134
|
+
{
|
|
135
|
+
"id": "glyphs",
|
|
136
|
+
"type": "shape",
|
|
137
|
+
"stroke": "{ink}",
|
|
138
|
+
"strokeWidth": 1,
|
|
139
|
+
"fill": "none",
|
|
140
|
+
"items": [
|
|
141
|
+
{ "kind": "circle", "cx": 116, "cy": { "add": ["$gy", 9] }, "r": 6 },
|
|
142
|
+
{ "kind": "line", "x1": 106, "y1": { "add": ["$gy", 9] }, "x2": 126, "y2": { "add": ["$gy", 9] } },
|
|
143
|
+
{ "kind": "line", "x1": 116, "y1": { "add": ["$gy", -1] }, "x2": 116, "y2": { "add": ["$gy", 19] } },
|
|
144
|
+
{ "kind": "line", "x1": 140, "y1": { "add": ["$gy", 3] }, "x2": 152, "y2": { "add": ["$gy", 15] } },
|
|
145
|
+
{ "kind": "line", "x1": 152, "y1": { "add": ["$gy", 3] }, "x2": 140, "y2": { "add": ["$gy", 15] } },
|
|
146
|
+
{ "kind": "rect", "x": 166.5, "y": { "add": ["$gy", 2.5] }, "width": 13, "height": 13 },
|
|
147
|
+
{ "kind": "rect", "x": 171, "y": { "add": ["$gy", 7] }, "width": 4, "height": 4, "fill": "{ink}", "stroke": "none" }
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
{ "id": "readout", "type": "text", "content": [{ "join": [["X ", "$c4", ".", "$c6"], ""] }, { "join": [["Y ", "$s3", ".", "$c1"], ""] }], "font": "{mono}", "weight": 700, "size": 5.5, "letterSpacing": 0.02, "x": 196, "y": { "add": ["$gy", 7.5] }, "maxWidth": 60, "maxLines": 2, "color": "{ink}", "lineHeight": 1.45, "opacity": 0.75 },
|
|
151
|
+
{ "id": "n1", "type": "text", "content": "$n1", "font": "{font}", "weight": 700, "size": 15, "letterSpacing": 0, "x": 330, "y": { "add": ["$gy", 16.5] }, "align": "right", "maxWidth": 60, "maxLines": 1, "color": "{ink}" },
|
|
152
|
+
{ "id": "slash", "type": "shape", "kind": "line", "x1": 340, "y1": { "add": ["$gy", 17] }, "x2": 348, "y2": { "add": ["$gy", 1] }, "stroke": "{ink}", "strokeWidth": 1 },
|
|
153
|
+
{ "id": "n2", "type": "text", "content": "$n2", "font": "{font}", "weight": 700, "size": 15, "letterSpacing": 0, "x": 384, "y": { "add": ["$gy", 16.5] }, "align": "right", "maxWidth": 60, "maxLines": 1, "color": "{ink}" },
|
|
154
|
+
{ "id": "headPanel", "type": "shape", "kind": "polygon", "points": [[16, "$ht"], [22, "$ht"], [26, { "add": ["$ht", -4] }], [84, { "add": ["$ht", -4] }], [88, "$ht"], [372, "$ht"], [384, { "add": ["$ht", 12] }], [384, "$hb"], [16, "$hb"]], "fill": "{ink}" },
|
|
155
|
+
{
|
|
156
|
+
"id": "stretch",
|
|
157
|
+
"type": "group",
|
|
158
|
+
"transform": { "scale": [1, "$tall"], "origin": [200, { "div": [{ "add": ["$ht", "$hb"] }, 2] }] },
|
|
159
|
+
"layers": [
|
|
160
|
+
{
|
|
161
|
+
"id": "headline",
|
|
162
|
+
"type": "text",
|
|
163
|
+
"content": "{headline}",
|
|
164
|
+
"when": "headline",
|
|
165
|
+
"transform": "uppercase",
|
|
166
|
+
"font": "{font}",
|
|
167
|
+
"weight": 800,
|
|
168
|
+
"size": 80,
|
|
169
|
+
"lineHeight": 1,
|
|
170
|
+
"letterSpacing": -0.01,
|
|
171
|
+
"fit": "width",
|
|
172
|
+
"maxWidth": 352,
|
|
173
|
+
"maxHeight": { "div": [{ "sub": [{ "sub": ["$hb", "$ht"] }, 18] }, "$tall"] },
|
|
174
|
+
"maxLines": 1,
|
|
175
|
+
"anchor": "center",
|
|
176
|
+
"margin": 0,
|
|
177
|
+
"offset": { "x": 0, "y": { "sub": [{ "div": [{ "add": ["$ht", "$hb"] }, 2] }, { "div": ["$h", 2] }] } },
|
|
178
|
+
"color": "{ground}"
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
{ "id": "footer", "type": "shape", "kind": "polygon", "points": [[16, "$ft"], [206, "$ft"], [211, { "add": ["$ft", 4] }], [252, { "add": ["$ft", 4] }], [257, "$ft"], [300, "$ft"], [306, { "add": ["$ft", 6] }], [384, { "add": ["$ft", 6] }], [384, "$fb"], [16, "$fb"]], "fill": "{ink}" },
|
|
183
|
+
{ "id": "name", "type": "text", "content": "{name}", "font": "{mono}", "weight": 700, "size": 7, "letterSpacing": 0.02, "x": 22, "y": { "sub": ["$h", 14] }, "maxWidth": 180, "maxLines": 1, "color": "{ground}", "transform": "uppercase", "when": "name" },
|
|
184
|
+
{ "id": "signoff", "type": "text", "content": "{signoff}", "font": "{mono}", "weight": 700, "size": 5.5, "letterSpacing": 0.02, "x": 378, "y": { "sub": ["$h", 12] }, "maxWidth": 76, "maxLines": 1, "color": "{ground}", "transform": "uppercase", "align": "right", "when": "signoff" }
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
}
|
package/src/version.js
CHANGED