wand-kit 0.3.2 → 0.5.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/PROMPT.md +221 -19
- package/SKILL.md +100 -20
- package/START-HERE.md +12 -1
- package/brands/current/tokens.json +10 -2
- package/brands/interim/assets/avatar.svg +1 -0
- package/brands/interim/assets/closing-art.png +0 -0
- package/brands/interim/assets/cover-art.png +0 -0
- package/brands/interim/assets/cover-portrait-art.png +0 -0
- package/brands/interim/assets/divider-art.png +0 -0
- package/brands/interim/assets/glyphs/README.md +29 -0
- package/brands/interim/assets/glyphs/activity.svg +15 -0
- package/brands/interim/assets/glyphs/atom.svg +17 -0
- package/brands/interim/assets/glyphs/badge-check.svg +16 -0
- package/brands/interim/assets/glyphs/bell.svg +16 -0
- package/brands/interim/assets/glyphs/blocks.svg +16 -0
- package/brands/interim/assets/glyphs/book-open.svg +16 -0
- package/brands/interim/assets/glyphs/bot.svg +20 -0
- package/brands/interim/assets/glyphs/boxes.svg +26 -0
- package/brands/interim/assets/glyphs/brain.svg +23 -0
- package/brands/interim/assets/glyphs/briefcase.svg +16 -0
- package/brands/interim/assets/glyphs/building-2.svg +21 -0
- package/brands/interim/assets/glyphs/calendar.svg +18 -0
- package/brands/interim/assets/glyphs/chart-column.svg +18 -0
- package/brands/interim/assets/glyphs/chart-line.svg +16 -0
- package/brands/interim/assets/glyphs/chart-pie.svg +16 -0
- package/brands/interim/assets/glyphs/circle-check.svg +16 -0
- package/brands/interim/assets/glyphs/clipboard-check.svg +17 -0
- package/brands/interim/assets/glyphs/clock.svg +16 -0
- package/brands/interim/assets/glyphs/cloud.svg +15 -0
- package/brands/interim/assets/glyphs/code.svg +15 -0
- package/brands/interim/assets/glyphs/coins.svg +18 -0
- package/brands/interim/assets/glyphs/compass.svg +16 -0
- package/brands/interim/assets/glyphs/cpu.svg +24 -0
- package/brands/interim/assets/glyphs/database.svg +17 -0
- package/brands/interim/assets/glyphs/eye.svg +16 -0
- package/brands/interim/assets/glyphs/file-check.svg +17 -0
- package/brands/interim/assets/glyphs/filter.svg +15 -0
- package/brands/interim/assets/glyphs/fingerprint.svg +23 -0
- package/brands/interim/assets/glyphs/flag.svg +16 -0
- package/brands/interim/assets/glyphs/gauge.svg +16 -0
- package/brands/interim/assets/glyphs/gavel.svg +19 -0
- package/brands/interim/assets/glyphs/git-branch.svg +18 -0
- package/brands/interim/assets/glyphs/globe.svg +17 -0
- package/brands/interim/assets/glyphs/graduation-cap.svg +17 -0
- package/brands/interim/assets/glyphs/handshake.svg +19 -0
- package/brands/interim/assets/glyphs/hexagon.svg +15 -0
- package/brands/interim/assets/glyphs/index.json +177 -0
- package/brands/interim/assets/glyphs/infinity.svg +15 -0
- package/brands/interim/assets/glyphs/key.svg +17 -0
- package/brands/interim/assets/glyphs/landmark.svg +20 -0
- package/brands/interim/assets/glyphs/layers.svg +17 -0
- package/brands/interim/assets/glyphs/lightbulb.svg +17 -0
- package/brands/interim/assets/glyphs/link.svg +16 -0
- package/brands/interim/assets/glyphs/list-checks.svg +19 -0
- package/brands/interim/assets/glyphs/lock.svg +16 -0
- package/brands/interim/assets/glyphs/map.svg +17 -0
- package/brands/interim/assets/glyphs/megaphone.svg +16 -0
- package/brands/interim/assets/glyphs/message-square.svg +15 -0
- package/brands/interim/assets/glyphs/milestone.svg +17 -0
- package/brands/interim/assets/glyphs/network.svg +19 -0
- package/brands/interim/assets/glyphs/orbit.svg +19 -0
- package/brands/interim/assets/glyphs/package.svg +18 -0
- package/brands/interim/assets/glyphs/plug.svg +18 -0
- package/brands/interim/assets/glyphs/puzzle.svg +15 -0
- package/brands/interim/assets/glyphs/radar.svg +22 -0
- package/brands/interim/assets/glyphs/receipt.svg +17 -0
- package/brands/interim/assets/glyphs/refresh-cw.svg +18 -0
- package/brands/interim/assets/glyphs/rocket.svg +18 -0
- package/brands/interim/assets/glyphs/route.svg +17 -0
- package/brands/interim/assets/glyphs/scale.svg +19 -0
- package/brands/interim/assets/glyphs/search.svg +16 -0
- package/brands/interim/assets/glyphs/server.svg +18 -0
- package/brands/interim/assets/glyphs/settings.svg +16 -0
- package/brands/interim/assets/glyphs/share-2.svg +19 -0
- package/brands/interim/assets/glyphs/shield-check.svg +16 -0
- package/brands/interim/assets/glyphs/shuffle.svg +19 -0
- package/brands/interim/assets/glyphs/sparkles.svg +19 -0
- package/brands/interim/assets/glyphs/square-stack.svg +17 -0
- package/brands/interim/assets/glyphs/target.svg +17 -0
- package/brands/interim/assets/glyphs/trending-up.svg +16 -0
- package/brands/interim/assets/glyphs/triangle-alert.svg +17 -0
- package/brands/interim/assets/glyphs/trophy.svg +20 -0
- package/brands/interim/assets/glyphs/users.svg +18 -0
- package/brands/interim/assets/glyphs/wallet.svg +16 -0
- package/brands/interim/assets/glyphs/wand-sparkles.svg +22 -0
- package/brands/interim/assets/glyphs/workflow.svg +17 -0
- package/brands/interim/assets/glyphs/zap.svg +15 -0
- package/brands/interim/assets/mark.svg +1 -0
- package/brands/interim/assets/social/composition.json +6833 -0
- package/brands/interim/assets/spark-lavender.png +0 -0
- package/brands/interim/assets/spark-violet.png +0 -0
- package/brands/interim/assets/statement-art.png +0 -0
- package/brands/interim/assets/story/agent-alpha.png +0 -0
- package/brands/interim/assets/story/agent.png +0 -0
- package/brands/interim/assets/story/economy-alpha.png +0 -0
- package/brands/interim/assets/story/economy.png +0 -0
- package/brands/interim/assets/story/index.json +214 -0
- package/brands/interim/assets/story/learning-alpha.png +0 -0
- package/brands/interim/assets/story/learning.png +0 -0
- package/brands/interim/assets/story/organization-alpha.png +0 -0
- package/brands/interim/assets/story/organization.png +0 -0
- package/brands/interim/assets/story/worker-alpha.png +0 -0
- package/brands/interim/assets/story/worker-light.png +0 -0
- package/brands/interim/assets/story/worker.png +0 -0
- package/brands/interim/assets/wordmark-on-dark.png +0 -0
- package/brands/interim/assets/wordmark-on-dark.svg +1 -0
- package/brands/interim/assets/wordmark-on-light.png +0 -0
- package/brands/interim/assets/wordmark-on-light.svg +1 -0
- package/brands/interim/fonts/Geist-Book.ttf +0 -0
- package/brands/interim/fonts/Geist-Medium.ttf +0 -0
- package/brands/interim/fonts/Geist-Regular.ttf +0 -0
- package/brands/interim/fonts/Geist-SemiBold.ttf +0 -0
- package/brands/interim/fonts/Newsreader-Italic.ttf +0 -0
- package/brands/interim/fonts/Newsreader-Medium.ttf +0 -0
- package/brands/interim/fonts/Newsreader-MediumItalic.ttf +0 -0
- package/brands/interim/fonts/Newsreader-Regular.ttf +0 -0
- package/brands/interim/fonts/OFL-Geist.txt +93 -0
- package/brands/interim/fonts/OFL-Newsreader.txt +93 -0
- package/brands/interim/fonts/faces.json +12 -0
- package/brands/interim/lib/composition.js +169 -0
- package/brands/interim/lib/composition.mjs +101 -0
- package/brands/interim/lib/glyphs.js +89 -0
- package/brands/interim/lib/measure.js +121 -0
- package/brands/interim/lib/pdf.js +597 -0
- package/brands/interim/lib/ttf.py +169 -0
- package/brands/interim/lib/wandxml.py +37 -0
- package/brands/interim/tokens.json +299 -0
- package/brands/next/tokens.json +14 -2
- package/examples/social/social.json +23 -0
- package/lib/audit.js +142 -0
- package/lib/brand.js +12 -7
- package/lib/components.js +42 -10
- package/lib/engine.js +72 -9
- package/lib/library.js +180 -0
- package/lib/pptx.js +1 -1
- package/lib/social.js +366 -0
- package/lib/talk.js +37 -4
- package/library/index.json +629 -0
- package/library/interim/avatar-800x800.png +0 -0
- package/library/interim/icons/apple-touch-icon.png +0 -0
- package/library/interim/icons/favicon-16.png +0 -0
- package/library/interim/icons/favicon-32.png +0 -0
- package/library/interim/icons/favicon-48.png +0 -0
- package/library/interim/icons/favicon.ico +0 -0
- package/library/interim/icons/favicon.svg +1 -0
- package/library/interim/icons/icon-192.png +0 -0
- package/library/interim/icons/icon-512.png +0 -0
- package/library/interim/icons/icon-tags.html +5 -0
- package/library/interim/icons/site.webmanifest +19 -0
- package/library/interim/linkedin-banner-1584x396.png +0 -0
- package/library/interim/linkedin-company-1128x191.png +0 -0
- package/library/interim/open-agent-discovery-share-1200x630.png +0 -0
- package/library/interim/open-agent-discovery-share-head-tags.html +17 -0
- package/library/interim/wand-ai-share-1200x630.png +0 -0
- package/library/interim/wand-ai-share-head-tags.html +17 -0
- package/library/interim/x-header-1500x500.png +0 -0
- package/package.json +2 -2
- package/templates/card.mjs +6 -2
- package/templates/page.mjs +1 -1
- package/templates/slide.mjs +1 -1
- package/templates/storyboard.mjs +1 -1
- package/wand.js +65 -6
|
@@ -0,0 +1,629 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_": "Approved Wand files, handed out as they are (PROMPT.md §15). `node wand.js library` lists them, `get <id>` copies them, `--check` proves each file is the one approved and that the kit still draws the ones it can. A file enters only once a person approved it, through tools/library.mjs in the repo, which also rewrites px, bytes and sha256.",
|
|
3
|
+
"recipes": {
|
|
4
|
+
"interim": {
|
|
5
|
+
"site": "Wand",
|
|
6
|
+
"line": {
|
|
7
|
+
"lead": "A new workforce.",
|
|
8
|
+
"phrase": "A new operating era."
|
|
9
|
+
},
|
|
10
|
+
"upload": "https://wand.ai/assets/og/20261023/",
|
|
11
|
+
"cards": [
|
|
12
|
+
{
|
|
13
|
+
"kind": "linkedin-banner"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"kind": "x-header"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"kind": "linkedin-company"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"kind": "avatar"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"kind": "share",
|
|
26
|
+
"id": "wand-ai-share",
|
|
27
|
+
"url": "https://wand.ai/",
|
|
28
|
+
"title": "Wand AI",
|
|
29
|
+
"type": "website",
|
|
30
|
+
"description": "Autonomous AI workers. One operating system for people and agents. The foundation for a new era of enterprise and national capacity.",
|
|
31
|
+
"alt": "Wand. A new workforce. A new operating era.",
|
|
32
|
+
"set": {
|
|
33
|
+
"fit": null,
|
|
34
|
+
"middle": null,
|
|
35
|
+
"size": 64,
|
|
36
|
+
"x": 313,
|
|
37
|
+
"top": 140
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"kind": "share",
|
|
42
|
+
"id": "open-agent-discovery-share",
|
|
43
|
+
"url": "https://wand.ai/insights/open-agent-discovery-nandaindex.html",
|
|
44
|
+
"type": "article",
|
|
45
|
+
"lead": "An Open Agentic Web",
|
|
46
|
+
"phrase": "Needs Open Discovery",
|
|
47
|
+
"title": "An Open Agentic Web Needs Open Discovery | Wand AI",
|
|
48
|
+
"description": "Why interoperable agent discovery matters for the emerging agentic economy, and how NandaIndex complements governed AI workforces.",
|
|
49
|
+
"alt": "Wand. An Open Agentic Web Needs Open Discovery.",
|
|
50
|
+
"set": {
|
|
51
|
+
"fit": null,
|
|
52
|
+
"middle": null,
|
|
53
|
+
"size": 57,
|
|
54
|
+
"x": 312,
|
|
55
|
+
"top": 150
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"kind": "icons",
|
|
60
|
+
"id": "site-icons",
|
|
61
|
+
"upload": "/assets/20261022/"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"assets": [
|
|
67
|
+
{
|
|
68
|
+
"id": "linkedin-banner",
|
|
69
|
+
"brand": "interim",
|
|
70
|
+
"kind": "banner",
|
|
71
|
+
"recipe": "linkedin-banner",
|
|
72
|
+
"title": "LinkedIn profile banner",
|
|
73
|
+
"size": "1584 x 396, at 2x",
|
|
74
|
+
"use": "LinkedIn, your profile: the pencil on the banner, Upload, Apply. The lockup sits clear of the profile photo on the desktop profile.",
|
|
75
|
+
"approved": "the social design approved on the interim brand, 2026-10-22 (sent by Carlos Toledo); drawn by the kit from brand-interim's composition at LinkedIn's size",
|
|
76
|
+
"tags": [
|
|
77
|
+
"linkedin",
|
|
78
|
+
"banner",
|
|
79
|
+
"cover",
|
|
80
|
+
"header",
|
|
81
|
+
"background",
|
|
82
|
+
"profile",
|
|
83
|
+
"social"
|
|
84
|
+
],
|
|
85
|
+
"files": [
|
|
86
|
+
{
|
|
87
|
+
"path": "interim/linkedin-banner-1584x396.png",
|
|
88
|
+
"from": "linkedin-banner-1584x396.png",
|
|
89
|
+
"px": "3168 x 792",
|
|
90
|
+
"bytes": 454140,
|
|
91
|
+
"sha256": "9a24802a680eb3db8fb149caa841d428ca0ba417c7f7dcec0a9f0ffb290f60bd"
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "x-header",
|
|
97
|
+
"brand": "interim",
|
|
98
|
+
"kind": "banner",
|
|
99
|
+
"recipe": "x-header",
|
|
100
|
+
"title": "X (Twitter) header",
|
|
101
|
+
"size": "1500 x 500, at 2x",
|
|
102
|
+
"use": "X, Edit profile, the header image. Phones trim a little from the top and bottom.",
|
|
103
|
+
"approved": "the social design approved on the interim brand, 2026-10-22 (sent by Carlos Toledo); drawn by the kit from brand-interim's composition at X's size",
|
|
104
|
+
"tags": [
|
|
105
|
+
"x",
|
|
106
|
+
"twitter",
|
|
107
|
+
"header",
|
|
108
|
+
"banner",
|
|
109
|
+
"cover",
|
|
110
|
+
"profile",
|
|
111
|
+
"social"
|
|
112
|
+
],
|
|
113
|
+
"files": [
|
|
114
|
+
{
|
|
115
|
+
"path": "interim/x-header-1500x500.png",
|
|
116
|
+
"from": "x-header-1500x500.png",
|
|
117
|
+
"px": "3000 x 1000",
|
|
118
|
+
"bytes": 514750,
|
|
119
|
+
"sha256": "32ce12cd3651531d5256cece5ee5cd02f04a8e43caec7e9d458ad7bf830d5d80"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "linkedin-company",
|
|
125
|
+
"brand": "interim",
|
|
126
|
+
"kind": "banner",
|
|
127
|
+
"recipe": "linkedin-company",
|
|
128
|
+
"title": "LinkedIn company page banner",
|
|
129
|
+
"size": "1128 x 191, at 2x",
|
|
130
|
+
"use": "The company page, as an admin: Edit page, Header, upload.",
|
|
131
|
+
"approved": "the social design approved on the interim brand, 2026-10-22 (sent by Carlos Toledo); drawn by the kit from brand-interim's composition at LinkedIn's size",
|
|
132
|
+
"tags": [
|
|
133
|
+
"linkedin",
|
|
134
|
+
"company",
|
|
135
|
+
"page",
|
|
136
|
+
"banner",
|
|
137
|
+
"cover",
|
|
138
|
+
"header",
|
|
139
|
+
"social"
|
|
140
|
+
],
|
|
141
|
+
"files": [
|
|
142
|
+
{
|
|
143
|
+
"path": "interim/linkedin-company-1128x191.png",
|
|
144
|
+
"from": "linkedin-company-1128x191.png",
|
|
145
|
+
"px": "2256 x 382",
|
|
146
|
+
"bytes": 187940,
|
|
147
|
+
"sha256": "5589271496cae638e118468ce0d6a9d878e7b329f827ac3468248ab5a7dae1d2"
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "avatar",
|
|
153
|
+
"brand": "interim",
|
|
154
|
+
"kind": "avatar",
|
|
155
|
+
"recipe": "avatar",
|
|
156
|
+
"title": "Profile picture (the avatar)",
|
|
157
|
+
"size": "800 x 800, and the vector",
|
|
158
|
+
"use": "A profile or company logo picture on LinkedIn, X, Slack or anywhere else: upload the square, the platform cuts its own circle.",
|
|
159
|
+
"approved": "the avatar approved on the interim brand, 2026-10-22 (sent by Carlos Toledo)",
|
|
160
|
+
"tags": [
|
|
161
|
+
"avatar",
|
|
162
|
+
"profile",
|
|
163
|
+
"picture",
|
|
164
|
+
"photo",
|
|
165
|
+
"logo",
|
|
166
|
+
"icon",
|
|
167
|
+
"social",
|
|
168
|
+
"slack"
|
|
169
|
+
],
|
|
170
|
+
"files": [
|
|
171
|
+
{
|
|
172
|
+
"path": "interim/avatar-800x800.png",
|
|
173
|
+
"from": "avatar-800x800.png",
|
|
174
|
+
"px": "800 x 800",
|
|
175
|
+
"bytes": 7552,
|
|
176
|
+
"sha256": "d385b31aa8f8853ef03c42abb6d32a88744ace9cfacdb607230888f175fd33de"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"path": "brand:interim/assets/avatar.svg",
|
|
180
|
+
"px": "800 x 800 (vector)",
|
|
181
|
+
"bytes": 1044,
|
|
182
|
+
"sha256": "e79cf99abd57d4a6ecb09a2530b523f065374e7c8837ad6da764cb007c102d6c"
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"id": "wand-ai-share",
|
|
188
|
+
"brand": "interim",
|
|
189
|
+
"kind": "share",
|
|
190
|
+
"recipe": "wand-ai-share",
|
|
191
|
+
"title": "wand.ai link preview (og:image) and its tags",
|
|
192
|
+
"size": "1200 x 630",
|
|
193
|
+
"use": "The image LinkedIn, Slack, X and WhatsApp show when someone shares https://wand.ai/. Upload it to the folder its tags name and paste the tags into the page's head (INSTALL steps: PROMPT.md §14).",
|
|
194
|
+
"approved": "delivered 2026-10-23 after Hope Frank's feedback (runs/2026-10-23-wand-og-fix); approved for the library by Carlos Toledo, 2026-10-27",
|
|
195
|
+
"tags": [
|
|
196
|
+
"og",
|
|
197
|
+
"og:image",
|
|
198
|
+
"share",
|
|
199
|
+
"link",
|
|
200
|
+
"preview",
|
|
201
|
+
"unfurl",
|
|
202
|
+
"website",
|
|
203
|
+
"homepage",
|
|
204
|
+
"social"
|
|
205
|
+
],
|
|
206
|
+
"files": [
|
|
207
|
+
{
|
|
208
|
+
"path": "interim/wand-ai-share-1200x630.png",
|
|
209
|
+
"from": "wand-ai-share-1200x630.png",
|
|
210
|
+
"delivered": "runs/2026-10-23-wand-og-fix/out/og/wand-ai-share-1200x630.png",
|
|
211
|
+
"px": "1200 x 630",
|
|
212
|
+
"bytes": 217232,
|
|
213
|
+
"sha256": "cfe7b510d223d78e17f62c93e23ba3c097be50ebd4e3f9d70e05142b804b91cc",
|
|
214
|
+
"tolerance": {
|
|
215
|
+
"mean": 1.5,
|
|
216
|
+
"off": 1.2
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"path": "interim/wand-ai-share-head-tags.html",
|
|
221
|
+
"from": "#tags",
|
|
222
|
+
"px": null,
|
|
223
|
+
"bytes": 1297,
|
|
224
|
+
"sha256": "990d779326c035e5d9bae42440e22b4ca0601bfa29fc4d8e5cc92520985e73cd"
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"id": "open-agent-discovery-share",
|
|
230
|
+
"brand": "interim",
|
|
231
|
+
"kind": "share",
|
|
232
|
+
"recipe": "open-agent-discovery-share",
|
|
233
|
+
"title": "Link preview for the article \"An Open Agentic Web Needs Open Discovery\", and its tags",
|
|
234
|
+
"size": "1200 x 630",
|
|
235
|
+
"use": "The image shown when someone shares https://wand.ai/insights/open-agent-discovery-nandaindex.html. Upload it to the folder its tags name and paste the tags into the article's head.",
|
|
236
|
+
"approved": "delivered 2026-10-23 after Hope Frank's feedback (runs/2026-10-23-wand-og-fix); approved for the library by Carlos Toledo, 2026-10-27",
|
|
237
|
+
"tags": [
|
|
238
|
+
"og",
|
|
239
|
+
"og:image",
|
|
240
|
+
"share",
|
|
241
|
+
"link",
|
|
242
|
+
"preview",
|
|
243
|
+
"unfurl",
|
|
244
|
+
"article",
|
|
245
|
+
"insights",
|
|
246
|
+
"nandaindex",
|
|
247
|
+
"social"
|
|
248
|
+
],
|
|
249
|
+
"files": [
|
|
250
|
+
{
|
|
251
|
+
"path": "interim/open-agent-discovery-share-1200x630.png",
|
|
252
|
+
"from": "open-agent-discovery-share-1200x630.png",
|
|
253
|
+
"delivered": "runs/2026-10-23-wand-og-fix/out/og/open-agent-discovery-share-1200x630.png",
|
|
254
|
+
"px": "1200 x 630",
|
|
255
|
+
"bytes": 217099,
|
|
256
|
+
"sha256": "a923371c253deb1041f2127adcd5dc5e42843b64f8bbaea5db142317f8ee869d",
|
|
257
|
+
"tolerance": {
|
|
258
|
+
"mean": 1.5,
|
|
259
|
+
"off": 1.2
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"path": "interim/open-agent-discovery-share-head-tags.html",
|
|
264
|
+
"from": "#tags",
|
|
265
|
+
"px": null,
|
|
266
|
+
"bytes": 1516,
|
|
267
|
+
"sha256": "3703081eb56354c59d788e215d3003ce3096cf093f2bd4ea7b8ed78aded22c9f"
|
|
268
|
+
}
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "site-icons",
|
|
273
|
+
"brand": "interim",
|
|
274
|
+
"kind": "icons",
|
|
275
|
+
"recipe": "site-icons",
|
|
276
|
+
"title": "Website icons: favicons, app icons, the manifest and their tags",
|
|
277
|
+
"size": "16, 32, 48, 180, 192, 512 px, .ico and .svg",
|
|
278
|
+
"use": "Upload the files to the site's /assets/20261022/ and paste icon-tags.html into every page's head. Check in a private window: browsers keep a favicon for a long time.",
|
|
279
|
+
"approved": "the approved avatar (2026-10-22) at each size; drawn by the kit, which sets the SVG at each size (the 2026-10-22 set reduced a 2x render and left a halo at 16px)",
|
|
280
|
+
"tags": [
|
|
281
|
+
"favicon",
|
|
282
|
+
"icon",
|
|
283
|
+
"icons",
|
|
284
|
+
"app",
|
|
285
|
+
"apple-touch-icon",
|
|
286
|
+
"website",
|
|
287
|
+
"browser",
|
|
288
|
+
"tab",
|
|
289
|
+
"manifest"
|
|
290
|
+
],
|
|
291
|
+
"files": [
|
|
292
|
+
{
|
|
293
|
+
"path": "interim/icons/favicon.ico",
|
|
294
|
+
"from": "icons/favicon.ico",
|
|
295
|
+
"px": "48 x 48",
|
|
296
|
+
"bytes": 2451,
|
|
297
|
+
"sha256": "fec6438aa65269563fcfb27310922973e63b6df9d854b756fec4bf1ce8952b82"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"path": "interim/icons/favicon.svg",
|
|
301
|
+
"from": "icons/favicon.svg",
|
|
302
|
+
"px": "800 x 800 (vector)",
|
|
303
|
+
"bytes": 1044,
|
|
304
|
+
"sha256": "e79cf99abd57d4a6ecb09a2530b523f065374e7c8837ad6da764cb007c102d6c"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"path": "interim/icons/favicon-16.png",
|
|
308
|
+
"from": "icons/favicon-16.png",
|
|
309
|
+
"px": "16 x 16",
|
|
310
|
+
"bytes": 444,
|
|
311
|
+
"sha256": "7d43f89d4d66e18f8228406e8adfa35b7a9e446f7c334a5e3fe65e357d6425c1"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"path": "interim/icons/favicon-32.png",
|
|
315
|
+
"from": "icons/favicon-32.png",
|
|
316
|
+
"px": "32 x 32",
|
|
317
|
+
"bytes": 802,
|
|
318
|
+
"sha256": "75aa6458a4c97df8c86ee6df9012ddf82a5bd2644d9a147784be072ac3c72278"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"path": "interim/icons/favicon-48.png",
|
|
322
|
+
"from": "icons/favicon-48.png",
|
|
323
|
+
"px": "48 x 48",
|
|
324
|
+
"bytes": 1151,
|
|
325
|
+
"sha256": "577d12c13900984fd43aef1a69a1b656a9fcbb9a6f09e1fd7dd5a6914f5fd067"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"path": "interim/icons/apple-touch-icon.png",
|
|
329
|
+
"from": "icons/apple-touch-icon.png",
|
|
330
|
+
"px": "180 x 180",
|
|
331
|
+
"bytes": 1554,
|
|
332
|
+
"sha256": "bb2188d0085d41a14442f650bcaa80edda547a31f89a4d346150636683300ec8"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"path": "interim/icons/icon-192.png",
|
|
336
|
+
"from": "icons/icon-192.png",
|
|
337
|
+
"px": "192 x 192",
|
|
338
|
+
"bytes": 1753,
|
|
339
|
+
"sha256": "0b85c4384f115eedc79f54b7a97ef6d6cc508de6ed20f03906f75dbb32526c9e"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"path": "interim/icons/icon-512.png",
|
|
343
|
+
"from": "icons/icon-512.png",
|
|
344
|
+
"px": "512 x 512",
|
|
345
|
+
"bytes": 4397,
|
|
346
|
+
"sha256": "14be5b7e472964465c88b8e37dcf900d70f684b02820851bfe30fa42ec6eea7b"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"path": "interim/icons/site.webmanifest",
|
|
350
|
+
"from": "icons/site.webmanifest",
|
|
351
|
+
"px": null,
|
|
352
|
+
"bytes": 338,
|
|
353
|
+
"sha256": "89be6870d3a7839ab275eabee9781d287b4d51ec10bc9a68b0225a437b0aa2c3"
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"path": "interim/icons/icon-tags.html",
|
|
357
|
+
"from": "#tags",
|
|
358
|
+
"px": null,
|
|
359
|
+
"bytes": 365,
|
|
360
|
+
"sha256": "82f85c3be7154ebf5cafd41c3f43dafeaaa76897dcca38d0b2c64548cb83ad2b"
|
|
361
|
+
}
|
|
362
|
+
]
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"id": "wordmark-interim",
|
|
366
|
+
"brand": "interim",
|
|
367
|
+
"kind": "logo",
|
|
368
|
+
"title": "The wordmark (wand.ai's look), on dark and on light",
|
|
369
|
+
"size": "vector, and 924 x 312 PNG",
|
|
370
|
+
"use": "The logo for a partner page, a co-branded slide, an event listing. White letters and the violet spark on dark; deep violet letters on light. Never recoloured, stretched or set on a busy photo.",
|
|
371
|
+
"approved": "the brand's own wordmark with the approved spark (brand-interim/BRAND.md, 2026-10-22)",
|
|
372
|
+
"tags": [
|
|
373
|
+
"logo",
|
|
374
|
+
"wordmark",
|
|
375
|
+
"brand",
|
|
376
|
+
"wand"
|
|
377
|
+
],
|
|
378
|
+
"files": [
|
|
379
|
+
{
|
|
380
|
+
"path": "brand:interim/assets/wordmark-on-dark.svg",
|
|
381
|
+
"px": "3120 x 999 (vector)",
|
|
382
|
+
"bytes": 1682,
|
|
383
|
+
"sha256": "01a327b2fd22a2afc3226d12637c85b44011a15ad4f1e7999fca74205f4ec5b0"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"path": "brand:interim/assets/wordmark-on-dark.png",
|
|
387
|
+
"px": "924 x 312",
|
|
388
|
+
"bytes": 8122,
|
|
389
|
+
"sha256": "89a8a9191096e434eb7dda222b7f0b4c2fcfbc34c07e797a9752645b7752403b"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"path": "brand:interim/assets/wordmark-on-light.svg",
|
|
393
|
+
"px": "3120 x 999 (vector)",
|
|
394
|
+
"bytes": 1682,
|
|
395
|
+
"sha256": "07932592381d47c91333e477c1afcc7320a6c4e68a0261781d90a13c8f6cc001"
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"path": "brand:interim/assets/wordmark-on-light.png",
|
|
399
|
+
"px": "924 x 312",
|
|
400
|
+
"bytes": 8506,
|
|
401
|
+
"sha256": "4e020f80eaeb027bf0277f7b8f5ecb1a0c8137981f071b0badd283a962dcd6f0"
|
|
402
|
+
}
|
|
403
|
+
]
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"id": "mark-interim",
|
|
407
|
+
"brand": "interim",
|
|
408
|
+
"kind": "logo",
|
|
409
|
+
"title": "The mark (the w and its spark) and the spark alone",
|
|
410
|
+
"size": "vector, and 240 x 240 sparks",
|
|
411
|
+
"use": "Where the wordmark is too wide: a small square, a watermark. The mark is white with the violet spark, for dark grounds; the sparks are violet (light grounds) and lavender (dark).",
|
|
412
|
+
"approved": "the brand's own marks with the approved spark (brand-interim/BRAND.md, 2026-10-22)",
|
|
413
|
+
"tags": [
|
|
414
|
+
"logo",
|
|
415
|
+
"mark",
|
|
416
|
+
"spark",
|
|
417
|
+
"icon",
|
|
418
|
+
"brand",
|
|
419
|
+
"w"
|
|
420
|
+
],
|
|
421
|
+
"files": [
|
|
422
|
+
{
|
|
423
|
+
"path": "brand:interim/assets/mark.svg",
|
|
424
|
+
"px": "2466 x 2298 (vector)",
|
|
425
|
+
"bytes": 921,
|
|
426
|
+
"sha256": "614358eb9723ad9d56d66c7e52fe09d358502af00fb78ea2567312857e6387aa"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"path": "brand:interim/assets/spark-violet.png",
|
|
430
|
+
"px": "240 x 240",
|
|
431
|
+
"bytes": 2478,
|
|
432
|
+
"sha256": "8a687d9f97d4884723b8400ac937323ecf474e637191081d9292186a2d3e36fa"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"path": "brand:interim/assets/spark-lavender.png",
|
|
436
|
+
"px": "240 x 240",
|
|
437
|
+
"bytes": 2427,
|
|
438
|
+
"sha256": "d01e5fed97f66d2c2c1934fa883693d2b40987e2c80c8f3d68dcc4b6634f9909"
|
|
439
|
+
}
|
|
440
|
+
]
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"id": "slide-art-interim",
|
|
444
|
+
"brand": "interim",
|
|
445
|
+
"kind": "art",
|
|
446
|
+
"title": "Slide and page backgrounds (wand.ai's look)",
|
|
447
|
+
"size": "2560 x 1440, and a 2040 x 2640 portrait cover",
|
|
448
|
+
"use": "Backgrounds for a cover, a statement, a section divider and a close in a deck the kit did not build; the portrait one for a document cover. Words go where the art leaves space.",
|
|
449
|
+
"approved": "the brand's art (brand-interim/BRAND.md): the cover is the approved composition without its lockup",
|
|
450
|
+
"tags": [
|
|
451
|
+
"background",
|
|
452
|
+
"slide",
|
|
453
|
+
"cover",
|
|
454
|
+
"art",
|
|
455
|
+
"deck",
|
|
456
|
+
"keynote",
|
|
457
|
+
"powerpoint",
|
|
458
|
+
"zoom"
|
|
459
|
+
],
|
|
460
|
+
"files": [
|
|
461
|
+
{
|
|
462
|
+
"path": "brand:interim/assets/cover-art.png",
|
|
463
|
+
"px": "2560 x 1440",
|
|
464
|
+
"bytes": 398071,
|
|
465
|
+
"sha256": "565836e09ac1f4cfc7872a5440bcc82a6aebb83f7286a0ebffd59338ddc7e911"
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"path": "brand:interim/assets/statement-art.png",
|
|
469
|
+
"px": "2560 x 1440",
|
|
470
|
+
"bytes": 403061,
|
|
471
|
+
"sha256": "8d81cc7be9a47b3c355e309ce878105be06eddbc1c31aaeed611ffe824cb365f"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"path": "brand:interim/assets/divider-art.png",
|
|
475
|
+
"px": "2560 x 1440",
|
|
476
|
+
"bytes": 762173,
|
|
477
|
+
"sha256": "0d8d1826990a39811c9e8ea6423e6be6d7fef8a641e125da42586cfce5ee9d36"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"path": "brand:interim/assets/closing-art.png",
|
|
481
|
+
"px": "2560 x 1440",
|
|
482
|
+
"bytes": 726967,
|
|
483
|
+
"sha256": "edba8023d5ea184ea8f91957606387ceaa32f59008a36d4078c5579fd59719a0"
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"path": "brand:interim/assets/cover-portrait-art.png",
|
|
487
|
+
"px": "2040 x 2640",
|
|
488
|
+
"bytes": 383075,
|
|
489
|
+
"sha256": "7a13ccd0bf561a31b6d74d08afbb1e59f7a7ac5faf803c3b593db7e2de624398"
|
|
490
|
+
}
|
|
491
|
+
]
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"id": "oval-interim",
|
|
495
|
+
"brand": "interim",
|
|
496
|
+
"kind": "art",
|
|
497
|
+
"title": "The hero's metallic oval, on transparent",
|
|
498
|
+
"size": "1125 x 1592",
|
|
499
|
+
"use": "The site's hero, alone, for a layout that places its own art. On a dark ground only.",
|
|
500
|
+
"approved": "captured from the live site's own canvas script, 2026-10-21 (brand-interim/assets/story)",
|
|
501
|
+
"tags": [
|
|
502
|
+
"oval",
|
|
503
|
+
"ring",
|
|
504
|
+
"hero",
|
|
505
|
+
"art",
|
|
506
|
+
"worker",
|
|
507
|
+
"3d"
|
|
508
|
+
],
|
|
509
|
+
"files": [
|
|
510
|
+
{
|
|
511
|
+
"path": "brand:interim/assets/story/worker-alpha.png",
|
|
512
|
+
"as": "wand-interim-oval.png",
|
|
513
|
+
"px": "1125 x 1592",
|
|
514
|
+
"bytes": 480119,
|
|
515
|
+
"sha256": "b77b2eeaa5dd1369793b9e60439497d5996ae58228df90d3362f6e616c554eac"
|
|
516
|
+
}
|
|
517
|
+
]
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"id": "wordmark-current",
|
|
521
|
+
"brand": "current",
|
|
522
|
+
"kind": "logo",
|
|
523
|
+
"title": "The wordmark (the Geist brand), white and dark",
|
|
524
|
+
"size": "222 x 60 PNG",
|
|
525
|
+
"use": "The logo on the current brand: white on dark grounds, dark on light.",
|
|
526
|
+
"approved": "the brand's own wordmark (brand/BRAND.md)",
|
|
527
|
+
"tags": [
|
|
528
|
+
"logo",
|
|
529
|
+
"wordmark",
|
|
530
|
+
"brand",
|
|
531
|
+
"wand"
|
|
532
|
+
],
|
|
533
|
+
"files": [
|
|
534
|
+
{
|
|
535
|
+
"path": "brand:current/assets/wordmark-white.png",
|
|
536
|
+
"px": "222 x 60",
|
|
537
|
+
"bytes": 2662,
|
|
538
|
+
"sha256": "dd08753eed203d208afcf1cae7529f7c6320d01a1a25501147999366dd160cf7"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"path": "brand:current/assets/wordmark-dark.png",
|
|
542
|
+
"px": "222 x 60",
|
|
543
|
+
"bytes": 1628,
|
|
544
|
+
"sha256": "38b7026ff53bb6f0c60ca6e33113d038c8aba18fd631b1b56a526032330e3642"
|
|
545
|
+
}
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"id": "mark-current",
|
|
550
|
+
"brand": "current",
|
|
551
|
+
"kind": "logo",
|
|
552
|
+
"title": "The mark (the Geist brand), white and dark",
|
|
553
|
+
"size": "74 x 60 and 289 x 269 PNG",
|
|
554
|
+
"use": "Where the wordmark is too wide, on the current brand.",
|
|
555
|
+
"approved": "the brand's own mark (brand/BRAND.md)",
|
|
556
|
+
"tags": [
|
|
557
|
+
"logo",
|
|
558
|
+
"mark",
|
|
559
|
+
"icon",
|
|
560
|
+
"brand"
|
|
561
|
+
],
|
|
562
|
+
"files": [
|
|
563
|
+
{
|
|
564
|
+
"path": "brand:current/assets/mark-white.png",
|
|
565
|
+
"px": "74 x 60",
|
|
566
|
+
"bytes": 1125,
|
|
567
|
+
"sha256": "dbb3fc5a67ed73602fd901e6a4683b17e8396e739bb486d57b2899026f5f1ce3"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"path": "brand:current/assets/mark-dark.png",
|
|
571
|
+
"px": "289 x 269",
|
|
572
|
+
"bytes": 9124,
|
|
573
|
+
"sha256": "898312ed02e2186a0cd8f4294fd5543c153322c8b3e8f8ed402243c42941a872"
|
|
574
|
+
}
|
|
575
|
+
]
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"id": "slide-art-current",
|
|
579
|
+
"brand": "current",
|
|
580
|
+
"kind": "art",
|
|
581
|
+
"title": "Slide backgrounds (the Geist brand)",
|
|
582
|
+
"size": "1600 x 900 to 2048 x 1152",
|
|
583
|
+
"use": "Backgrounds for a cover, a statement, a divider and a close in a deck the kit did not build, on the current brand.",
|
|
584
|
+
"approved": "the brand's art (brand/BRAND.md)",
|
|
585
|
+
"tags": [
|
|
586
|
+
"background",
|
|
587
|
+
"slide",
|
|
588
|
+
"cover",
|
|
589
|
+
"art",
|
|
590
|
+
"deck",
|
|
591
|
+
"keynote",
|
|
592
|
+
"powerpoint",
|
|
593
|
+
"zoom"
|
|
594
|
+
],
|
|
595
|
+
"files": [
|
|
596
|
+
{
|
|
597
|
+
"path": "brand:current/assets/bg-cover-dark.png",
|
|
598
|
+
"px": "1600 x 900",
|
|
599
|
+
"bytes": 952288,
|
|
600
|
+
"sha256": "37ac83464fa7474f89f55a7910d82e0606d5b54564b576b08bb14356ebb21e4d"
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"path": "brand:current/assets/bg-statement-dark.png",
|
|
604
|
+
"px": "1600 x 829",
|
|
605
|
+
"bytes": 1380962,
|
|
606
|
+
"sha256": "1c1f792a39134913451e0c7f9a514b73bce83d690c4eddecd8e62494cb0085da"
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"path": "brand:current/assets/cover-art.png",
|
|
610
|
+
"px": "2048 x 1152",
|
|
611
|
+
"bytes": 1425227,
|
|
612
|
+
"sha256": "a524d82ce99e277b8ae22dd4ceacf6827d805c654548eea5cb6ac6a35619d958"
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"path": "brand:current/assets/divider-art.png",
|
|
616
|
+
"px": "2048 x 1152",
|
|
617
|
+
"bytes": 1349779,
|
|
618
|
+
"sha256": "336d084a1b8cb4a5355c89a643cd5f359536ef99edcd3c41b5db891a2585b066"
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
"path": "brand:current/assets/closing-art.png",
|
|
622
|
+
"px": "2048 x 1062",
|
|
623
|
+
"bytes": 1738717,
|
|
624
|
+
"sha256": "7b5f95a70f06b73453833fde3af2b515ff59766d994b11264843392cfd000416"
|
|
625
|
+
}
|
|
626
|
+
]
|
|
627
|
+
}
|
|
628
|
+
]
|
|
629
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800" role="img" aria-label="Wand"><circle cx="400" cy="400" r="400" fill="#261d3d"/><g transform="translate(180.48 300.24) scale(0.187233) translate(0 -512)"><path d="M0 530A18 18 0 0 1 18 512L352.5 512A18 18 0 0 1 370.5 530L370.5 1347A278 278 0 0 0 926.5 1347L926.5 530A18 18 0 0 1 944.5 512L1279 512A18 18 0 0 1 1297 530L1297 1347A278 278 0 0 0 1853 1347L1853 734A18 18 0 0 1 1871 716L1873 716Q1882 716 1888.13 722.59L1940.35 778.75A134.03 134.03 0 0 0 2136.65 778.75L2188.87 722.59Q2195 716 2204 716L2205.5 716A18 18 0 0 1 2223.5 734L2223.5 1347A648.5 648.5 0 0 1 1125.96 1814.89Q1111.75 1800.82 1097.54 1814.89A648.5 648.5 0 0 1 0 1347Z" fill="#ffffff"/><path d="M2021.58 -300.31A16.61 16.61 0 0 1 2055.42 -300.31A426.81 426.81 0 0 0 2465.31 109.58A16.61 16.61 0 0 1 2465.31 143.42A426.81 426.81 0 0 0 2055.42 553.31A16.61 16.61 0 0 1 2021.58 553.31A426.81 426.81 0 0 0 1611.69 143.42A16.61 16.61 0 0 1 1611.69 109.58A426.81 426.81 0 0 0 2021.58 -300.31Z" fill="#c2a1ef"/></g></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<!-- every page: the icons (the files in icons/, uploaded to /assets/20261022/) -->
|
|
2
|
+
<link rel="icon" href="/assets/20261022/favicon.ico" sizes="32x32">
|
|
3
|
+
<link rel="icon" type="image/svg+xml" href="/assets/20261022/favicon.svg">
|
|
4
|
+
<link rel="apple-touch-icon" href="/assets/20261022/apple-touch-icon.png">
|
|
5
|
+
<link rel="manifest" href="/assets/20261022/site.webmanifest">
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Wand",
|
|
3
|
+
"short_name": "Wand",
|
|
4
|
+
"icons": [
|
|
5
|
+
{
|
|
6
|
+
"src": "icon-192.png",
|
|
7
|
+
"sizes": "192x192",
|
|
8
|
+
"type": "image/png"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"src": "icon-512.png",
|
|
12
|
+
"sizes": "512x512",
|
|
13
|
+
"type": "image/png"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"theme_color": "#14101C",
|
|
17
|
+
"background_color": "#14101C",
|
|
18
|
+
"display": "standalone"
|
|
19
|
+
}
|
|
Binary file
|
|
Binary file
|