@yojahny/wp-design-library 0.3.0 → 0.5.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 (186) hide show
  1. package/.env.example +7 -0
  2. package/README.md +52 -9
  3. package/bin/library.mjs +11 -0
  4. package/entries/ada/entry.md +55 -0
  5. package/entries/ada/strip.webp +0 -0
  6. package/entries/air/captures/2/measure.json +325 -0
  7. package/entries/air/captures/2/strip.webp +0 -0
  8. package/entries/air/entry.md +62 -0
  9. package/entries/air/strip.webp +0 -0
  10. package/entries/ais-community-dark-depth/strip.webp +0 -0
  11. package/entries/apple-home/captures/2/measure.json +91 -0
  12. package/entries/apple-home/captures/2/strip.webp +0 -0
  13. package/entries/apple-home/entry.md +64 -0
  14. package/entries/apple-home/strip.webp +0 -0
  15. package/entries/apple-macbook-neo/captures/2/measure.json +570 -0
  16. package/entries/apple-macbook-neo/captures/2/strip.webp +0 -0
  17. package/entries/apple-macbook-neo/entry.md +62 -0
  18. package/entries/apple-macbook-neo/strip.webp +0 -0
  19. package/entries/apple-watch-ultra-4/entry.md +63 -0
  20. package/entries/apple-watch-ultra-4/measure.json +481 -0
  21. package/entries/apple-watch-ultra-4/strip.webp +0 -0
  22. package/entries/bpco/captures/2/strip.webp +0 -0
  23. package/entries/bpco/captures/3/strip.webp +0 -0
  24. package/entries/bpco/entry.md +81 -0
  25. package/entries/bpco/strip.webp +0 -0
  26. package/entries/column/captures/2/measure.json +996 -0
  27. package/entries/column/captures/2/strip.webp +0 -0
  28. package/entries/column/entry.md +82 -0
  29. package/entries/column/strip.webp +0 -0
  30. package/entries/cthdrl/captures/2/measure.json +251 -0
  31. package/entries/cthdrl/captures/2/strip.webp +0 -0
  32. package/entries/cthdrl/entry.md +86 -0
  33. package/entries/cthdrl/strip.webp +0 -0
  34. package/entries/dala-craftedbygc/entry.md +69 -0
  35. package/entries/dala-craftedbygc/strip.webp +0 -0
  36. package/entries/dock/captures/2/measure.json +206 -0
  37. package/entries/dock/captures/2/strip.webp +0 -0
  38. package/entries/dock/entry.md +62 -0
  39. package/entries/dock/strip.webp +0 -0
  40. package/entries/dub/captures/2/measure.json +37 -0
  41. package/entries/dub/captures/2/strip.webp +0 -0
  42. package/entries/dub/entry.md +61 -0
  43. package/entries/dub/strip.webp +0 -0
  44. package/entries/duolingo/captures/2/measure.json +138 -0
  45. package/entries/duolingo/captures/2/strip.webp +0 -0
  46. package/entries/duolingo/entry.md +65 -0
  47. package/entries/duolingo/strip.webp +0 -0
  48. package/entries/elevenlabs/captures/2/measure.json +160 -0
  49. package/entries/elevenlabs/captures/2/strip.webp +0 -0
  50. package/entries/elevenlabs/entry.md +62 -0
  51. package/entries/elevenlabs/strip.webp +0 -0
  52. package/entries/flying-papers/captures/2/measure.json +291 -0
  53. package/entries/flying-papers/captures/2/strip.webp +0 -0
  54. package/entries/flying-papers/entry.md +61 -0
  55. package/entries/flying-papers/strip.webp +0 -0
  56. package/entries/gsap/captures/2/measure.json +120 -0
  57. package/entries/gsap/captures/2/strip.webp +0 -0
  58. package/entries/gsap/entry.md +62 -0
  59. package/entries/gsap/strip.webp +0 -0
  60. package/entries/letters/captures/2/measure.json +20 -0
  61. package/entries/letters/captures/2/strip.webp +0 -0
  62. package/entries/letters/entry.md +62 -0
  63. package/entries/letters/strip.webp +0 -0
  64. package/entries/micro/captures/2/measure.json +852 -0
  65. package/entries/micro/captures/2/strip.webp +0 -0
  66. package/entries/micro/entry.md +61 -0
  67. package/entries/micro/strip.webp +0 -0
  68. package/entries/monopo-saigon/captures/2/measure.json +145 -0
  69. package/entries/monopo-saigon/captures/2/strip.webp +0 -0
  70. package/entries/monopo-saigon/entry.md +64 -0
  71. package/entries/monopo-saigon/strip.webp +0 -0
  72. package/entries/notion/captures/2/measure.json +338 -0
  73. package/entries/notion/captures/2/strip.webp +0 -0
  74. package/entries/notion/entry.md +66 -0
  75. package/entries/notion/strip.webp +0 -0
  76. package/entries/origin-financial/captures/2/measure.json +169 -0
  77. package/entries/origin-financial/captures/2/strip.webp +0 -0
  78. package/entries/origin-financial/entry.md +65 -0
  79. package/entries/origin-financial/strip.webp +0 -0
  80. package/entries/oryzo-ai/captures/2/measure.json +39 -0
  81. package/entries/oryzo-ai/captures/2/strip.webp +0 -0
  82. package/entries/oryzo-ai/entry.md +76 -0
  83. package/entries/oryzo-ai/strip.webp +0 -0
  84. package/entries/silencio/captures/2/strip.webp +0 -0
  85. package/entries/silencio/entry.md +114 -0
  86. package/entries/silencio/motion/product-story/frame-0.webp +0 -0
  87. package/entries/silencio/motion/product-story/frame-1.webp +0 -0
  88. package/entries/silencio/motion/product-story/frame-2.webp +0 -0
  89. package/entries/silencio/motion/product-story/frame-3.webp +0 -0
  90. package/entries/silencio/motion/product-story/frame-4.webp +0 -0
  91. package/entries/silencio/motion/product-story/frame-5.webp +0 -0
  92. package/entries/silencio/motion/product-story/frame-6.webp +0 -0
  93. package/entries/silencio/motion/product-story/frame-7.webp +0 -0
  94. package/entries/silencio/strip.webp +0 -0
  95. package/entries/steep/captures/2/measure.json +20 -0
  96. package/entries/steep/captures/2/strip.webp +0 -0
  97. package/entries/steep/entry.md +63 -0
  98. package/entries/steep/strip.webp +0 -0
  99. package/entries/stripe/captures/2/measure.json +892 -0
  100. package/entries/stripe/captures/2/strip.webp +0 -0
  101. package/entries/stripe/entry.md +61 -0
  102. package/entries/stripe/strip.webp +0 -0
  103. package/entries/superpower/captures/2/measure.json +179 -0
  104. package/entries/superpower/captures/2/strip.webp +0 -0
  105. package/entries/superpower/entry.md +64 -0
  106. package/entries/superpower/strip.webp +0 -0
  107. package/entries/superr/entry.md +54 -0
  108. package/entries/superr/strip.webp +0 -0
  109. package/entries/svz-weare/captures/2/measure.json +129 -0
  110. package/entries/svz-weare/captures/2/strip.webp +0 -0
  111. package/entries/svz-weare/entry.md +147 -0
  112. package/entries/svz-weare/motion/hero-transition/frame-0.webp +0 -0
  113. package/entries/svz-weare/motion/hero-transition/frame-1.webp +0 -0
  114. package/entries/svz-weare/motion/hero-transition/frame-2.webp +0 -0
  115. package/entries/svz-weare/motion/hero-transition/frame-3.webp +0 -0
  116. package/entries/svz-weare/motion/hero-transition/frame-4.webp +0 -0
  117. package/entries/svz-weare/motion/hero-transition/frame-5.webp +0 -0
  118. package/entries/svz-weare/motion/hero-transition/frame-6.webp +0 -0
  119. package/entries/svz-weare/motion/hero-transition/frame-7.webp +0 -0
  120. package/entries/svz-weare/strip.webp +0 -0
  121. package/entries/thoughtlab/captures/2/measure.json +93 -0
  122. package/entries/thoughtlab/captures/2/strip.webp +0 -0
  123. package/entries/thoughtlab/entry.md +62 -0
  124. package/entries/thoughtlab/strip.webp +0 -0
  125. package/entries/ventriloc/entry.md +54 -0
  126. package/entries/ventriloc/strip.webp +0 -0
  127. package/entries/vivid-and-co/entry.md +58 -0
  128. package/entries/vivid-and-co/strip.webp +0 -0
  129. package/package.json +24 -5
  130. package/src/cli/add.mjs +100 -24
  131. package/src/cli/motion.mjs +168 -0
  132. package/src/cli/refresh.mjs +6 -0
  133. package/src/cli/ui.mjs +2 -1
  134. package/src/entry.mjs +14 -1
  135. package/src/index/build.mjs +9 -3
  136. package/src/index/embed.mjs +1 -1
  137. package/src/ingest/agreement.mjs +33 -0
  138. package/src/ingest/attach.mjs +67 -0
  139. package/src/ingest/draft.mjs +5 -2
  140. package/src/ingest/frames.mjs +20 -6
  141. package/src/ingest/measure.mjs +34 -1
  142. package/src/ingest/observed.mjs +29 -0
  143. package/src/mcp/http.mjs +1 -1
  144. package/src/mcp/instructions.mjs +2 -1
  145. package/src/mcp/prompts.mjs +12 -1
  146. package/src/mcp/resources.mjs +14 -0
  147. package/src/mcp/tools.mjs +48 -5
  148. package/src/motion.mjs +94 -0
  149. package/src/ui/build.mjs +83 -7
  150. package/src/ui/serve.mjs +29 -4
  151. package/src/ui/templates/entry.html +9 -1
  152. package/entries/ais-community-dark-depth/strip.png +0 -0
  153. package/tests/README.md +0 -33
  154. package/tests/checks/cli-check.sh +0 -13
  155. package/tests/checks/docker.sh +0 -10
  156. package/tests/checks/entry-detail.sh +0 -52
  157. package/tests/checks/entry.sh +0 -55
  158. package/tests/checks/export.sh +0 -16
  159. package/tests/checks/fetch-on-start.sh +0 -26
  160. package/tests/checks/frames-dense.sh +0 -27
  161. package/tests/checks/http.sh +0 -22
  162. package/tests/checks/hygiene.sh +0 -29
  163. package/tests/checks/inbox.sh +0 -27
  164. package/tests/checks/index-degrade.sh +0 -32
  165. package/tests/checks/index.sh +0 -36
  166. package/tests/checks/ingest-mp4.sh +0 -47
  167. package/tests/checks/ingest.sh +0 -39
  168. package/tests/checks/instructions.sh +0 -31
  169. package/tests/checks/licence-gate.sh +0 -24
  170. package/tests/checks/mcp-stdout.sh +0 -31
  171. package/tests/checks/measure.sh +0 -79
  172. package/tests/checks/minors.sh +0 -84
  173. package/tests/checks/optional-deps.sh +0 -55
  174. package/tests/checks/prompt-add-entry.sh +0 -28
  175. package/tests/checks/recommend.sh +0 -107
  176. package/tests/checks/resources.sh +0 -47
  177. package/tests/checks/rrf.sh +0 -120
  178. package/tests/checks/seed-sync.sh +0 -22
  179. package/tests/checks/similar.sh +0 -62
  180. package/tests/checks/ui-build.sh +0 -59
  181. package/tests/checks/vocab.sh +0 -30
  182. package/tests/fixtures/entry-ok/entry.md +0 -41
  183. package/tests/fixtures/entry-ok/strip.png +0 -0
  184. package/tests/fixtures/page/index.html +0 -47
  185. package/tests/fixtures/three-frame.webp +0 -0
  186. package/tests/run.sh +0 -16
@@ -0,0 +1,570 @@
1
+ {
2
+ "url": "https://www.apple.com/macbook-neo",
3
+ "at": "2026-09-17",
4
+ "viewport": [
5
+ 1440,
6
+ 390
7
+ ],
8
+ "tokens": {
9
+ "canvas": "#ffffff",
10
+ "ink": "#1d1d1f",
11
+ "accent": "#333336",
12
+ "fontDisplay": "\"SF Pro Display\", \"SF Pro Icons\", \"Helvetica Neue\", Helvetica, Arial, sans-serif",
13
+ "fontBody": "\"SF Pro Text\", \"SF Pro Icons\", \"Helvetica Neue\", Helvetica, Arial, sans-serif"
14
+ },
15
+ "sections": [
16
+ {
17
+ "index": 0,
18
+ "tag": "div",
19
+ "id": "",
20
+ "class": "blue-to-white edu-ribbon ribbon ribbon-animate-color ribbon-animate-position ribbon-blue-to-default theme-light",
21
+ "top": 44,
22
+ "height": 52,
23
+ "animations": [
24
+ {
25
+ "target": "div.ribbon-drop-wrapper",
26
+ "timeline": "document",
27
+ "range": null,
28
+ "duration": 800
29
+ },
30
+ {
31
+ "target": "div.ribbon-content-wrapper",
32
+ "timeline": "document",
33
+ "range": null,
34
+ "duration": 800
35
+ },
36
+ {
37
+ "target": "div.ribbon-content row",
38
+ "timeline": "document",
39
+ "range": null,
40
+ "duration": 800
41
+ },
42
+ {
43
+ "target": "a.action-handler icon-wrapper ribbon-link",
44
+ "timeline": "document",
45
+ "range": null,
46
+ "duration": 800
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "index": 1,
52
+ "tag": "section",
53
+ "id": "",
54
+ "class": "section section-welcome no-pad section-welcome-localnav-overlap",
55
+ "top": 96,
56
+ "height": 856,
57
+ "animations": []
58
+ },
59
+ {
60
+ "index": 2,
61
+ "tag": "section",
62
+ "id": "",
63
+ "class": "section section-highlights staggered-end",
64
+ "top": 952,
65
+ "height": 1166,
66
+ "animations": [
67
+ {
68
+ "target": "a.dotnav-link current",
69
+ "timeline": "document",
70
+ "range": null,
71
+ "duration": 6150
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "index": 3,
77
+ "tag": "header",
78
+ "id": "",
79
+ "class": "section-header row",
80
+ "top": 1096,
81
+ "height": 52,
82
+ "animations": []
83
+ },
84
+ {
85
+ "index": 4,
86
+ "tag": "section",
87
+ "id": "",
88
+ "class": "section section-design background-alt no-pad-bottom no-pad-top",
89
+ "top": 2118,
90
+ "height": 900,
91
+ "animations": []
92
+ },
93
+ {
94
+ "index": 5,
95
+ "tag": "header",
96
+ "id": "",
97
+ "class": "ps-section-header text-large-center",
98
+ "top": 2437,
99
+ "height": 261,
100
+ "animations": []
101
+ },
102
+ {
103
+ "index": 6,
104
+ "tag": "section",
105
+ "id": "",
106
+ "class": "section section-product-viewer staggered-end",
107
+ "top": 3018,
108
+ "height": 1000,
109
+ "animations": []
110
+ },
111
+ {
112
+ "index": 7,
113
+ "tag": "header",
114
+ "id": "",
115
+ "class": "section-header row",
116
+ "top": 3162,
117
+ "height": 52,
118
+ "animations": []
119
+ },
120
+ {
121
+ "index": 8,
122
+ "tag": "section",
123
+ "id": "performance",
124
+ "class": "section section-performance section-product-stories",
125
+ "top": 4018,
126
+ "height": 7447,
127
+ "animations": []
128
+ },
129
+ {
130
+ "index": 9,
131
+ "tag": "header",
132
+ "id": "",
133
+ "class": "ps-section-header text-large-center text-small-start staggered-end",
134
+ "top": 4162,
135
+ "height": 343,
136
+ "animations": []
137
+ },
138
+ {
139
+ "index": 10,
140
+ "tag": "section",
141
+ "id": "display",
142
+ "class": "section section-display section-product-stories",
143
+ "top": 11465,
144
+ "height": 4900,
145
+ "animations": []
146
+ },
147
+ {
148
+ "index": 11,
149
+ "tag": "header",
150
+ "id": "",
151
+ "class": "ps-section-header text-large-center text-small-start headline-container",
152
+ "top": 10440,
153
+ "height": 214,
154
+ "animations": []
155
+ },
156
+ {
157
+ "index": 12,
158
+ "tag": "section",
159
+ "id": "",
160
+ "class": "section section-apple-intelligence section-product-stories",
161
+ "top": 16370,
162
+ "height": 2028,
163
+ "animations": []
164
+ },
165
+ {
166
+ "index": 13,
167
+ "tag": "header",
168
+ "id": "",
169
+ "class": "ps-section-header text-large-center text-small-start staggered-end",
170
+ "top": 16370,
171
+ "height": 243,
172
+ "animations": []
173
+ },
174
+ {
175
+ "index": 14,
176
+ "tag": "section",
177
+ "id": "",
178
+ "class": "section section-macos section-product-stories",
179
+ "top": 18398,
180
+ "height": 1726,
181
+ "animations": []
182
+ },
183
+ {
184
+ "index": 15,
185
+ "tag": "section",
186
+ "id": "",
187
+ "class": "section section-continuity section-product-stories",
188
+ "top": 20007,
189
+ "height": 3594,
190
+ "animations": []
191
+ },
192
+ {
193
+ "index": 16,
194
+ "tag": "header",
195
+ "id": "",
196
+ "class": "ps-section-header text-large-center text-small-start",
197
+ "top": 20236,
198
+ "height": 272,
199
+ "animations": []
200
+ },
201
+ {
202
+ "index": 17,
203
+ "tag": "section",
204
+ "id": "",
205
+ "class": "section section-new-to-mac section-product-stories",
206
+ "top": 23601,
207
+ "height": 1980,
208
+ "animations": []
209
+ },
210
+ {
211
+ "index": 18,
212
+ "tag": "header",
213
+ "id": "",
214
+ "class": "ps-section-header text-large-center text-small-start staggered-start",
215
+ "top": 23745,
216
+ "height": 214,
217
+ "animations": []
218
+ },
219
+ {
220
+ "index": 19,
221
+ "tag": "section",
222
+ "id": "",
223
+ "class": "section section-security section-product-stories",
224
+ "top": 25551,
225
+ "height": 1956,
226
+ "animations": []
227
+ },
228
+ {
229
+ "index": 20,
230
+ "tag": "header",
231
+ "id": "",
232
+ "class": "ps-section-header text-large-center text-small-start staggered-start",
233
+ "top": 25695,
234
+ "height": 243,
235
+ "animations": []
236
+ },
237
+ {
238
+ "index": 21,
239
+ "tag": "section",
240
+ "id": "",
241
+ "class": "section section-incentive background-alt staggered-start",
242
+ "top": 27507,
243
+ "height": 938,
244
+ "animations": []
245
+ },
246
+ {
247
+ "index": 22,
248
+ "tag": "header",
249
+ "id": "",
250
+ "class": "section-header row",
251
+ "top": 27651,
252
+ "height": 104,
253
+ "animations": []
254
+ },
255
+ {
256
+ "index": 23,
257
+ "tag": "section",
258
+ "id": "",
259
+ "class": "section section-help-me-choose staggered-start",
260
+ "top": 28445,
261
+ "height": 864,
262
+ "animations": []
263
+ },
264
+ {
265
+ "index": 24,
266
+ "tag": "header",
267
+ "id": "",
268
+ "class": "section-header row",
269
+ "top": 28589,
270
+ "height": 52,
271
+ "animations": []
272
+ },
273
+ {
274
+ "index": 25,
275
+ "tag": "section",
276
+ "id": "",
277
+ "class": "section section-contrast background-alt staggered-start",
278
+ "top": 29309,
279
+ "height": 1826,
280
+ "animations": []
281
+ },
282
+ {
283
+ "index": 26,
284
+ "tag": "header",
285
+ "id": "",
286
+ "class": "section-header row",
287
+ "top": 29453,
288
+ "height": 52,
289
+ "animations": []
290
+ },
291
+ {
292
+ "index": 27,
293
+ "tag": "section",
294
+ "id": "",
295
+ "class": "section section-environment background-alt no-pad-top staggered-start",
296
+ "top": 31135,
297
+ "height": 381,
298
+ "animations": []
299
+ },
300
+ {
301
+ "index": 28,
302
+ "tag": "header",
303
+ "id": "",
304
+ "class": "section-header row",
305
+ "top": 31135,
306
+ "height": 52,
307
+ "animations": []
308
+ },
309
+ {
310
+ "index": 29,
311
+ "tag": "section",
312
+ "id": "",
313
+ "class": "section section-values background-alt staggered-start",
314
+ "top": 31485,
315
+ "height": 721,
316
+ "animations": []
317
+ },
318
+ {
319
+ "index": 30,
320
+ "tag": "header",
321
+ "id": "",
322
+ "class": "section-header row",
323
+ "top": 31629,
324
+ "height": 52,
325
+ "animations": []
326
+ },
327
+ {
328
+ "index": 31,
329
+ "tag": "div",
330
+ "id": "",
331
+ "class": "ribbon ribbon-elevated ribbon-variant-neutral-alt",
332
+ "top": 32207,
333
+ "height": 73,
334
+ "animations": []
335
+ },
336
+ {
337
+ "index": 32,
338
+ "tag": "section",
339
+ "id": "",
340
+ "class": "section section-index staggered-start",
341
+ "top": 32280,
342
+ "height": 869,
343
+ "animations": [
344
+ {
345
+ "target": "h3.typography-index-list-title index-list-title",
346
+ "timeline": "document",
347
+ "range": null,
348
+ "duration": 320
349
+ },
350
+ {
351
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
352
+ "timeline": "document",
353
+ "range": null,
354
+ "duration": 320
355
+ },
356
+ {
357
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
358
+ "timeline": "document",
359
+ "range": null,
360
+ "duration": 320
361
+ },
362
+ {
363
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
364
+ "timeline": "document",
365
+ "range": null,
366
+ "duration": 320
367
+ },
368
+ {
369
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
370
+ "timeline": "document",
371
+ "range": null,
372
+ "duration": 320
373
+ },
374
+ {
375
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
376
+ "timeline": "document",
377
+ "range": null,
378
+ "duration": 320
379
+ },
380
+ {
381
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
382
+ "timeline": "document",
383
+ "range": null,
384
+ "duration": 320
385
+ },
386
+ {
387
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
388
+ "timeline": "document",
389
+ "range": null,
390
+ "duration": 320
391
+ },
392
+ {
393
+ "target": "li.index-item typography-index-item-elevated index-item-elevated",
394
+ "timeline": "document",
395
+ "range": null,
396
+ "duration": 320
397
+ },
398
+ {
399
+ "target": "li.index-item typography-index-item-base index-item-base",
400
+ "timeline": "document",
401
+ "range": null,
402
+ "duration": 320
403
+ },
404
+ {
405
+ "target": "li.index-item typography-index-item-base index-item-base",
406
+ "timeline": "document",
407
+ "range": null,
408
+ "duration": 320
409
+ },
410
+ {
411
+ "target": "h3.typography-index-list-title index-list-title",
412
+ "timeline": "document",
413
+ "range": null,
414
+ "duration": 320
415
+ },
416
+ {
417
+ "target": "li.index-item typography-index-item-base index-item-base",
418
+ "timeline": "document",
419
+ "range": null,
420
+ "duration": 320
421
+ },
422
+ {
423
+ "target": "li.index-item typography-index-item-base index-item-base",
424
+ "timeline": "document",
425
+ "range": null,
426
+ "duration": 320
427
+ },
428
+ {
429
+ "target": "li.index-item typography-index-item-base index-item-base",
430
+ "timeline": "document",
431
+ "range": null,
432
+ "duration": 320
433
+ },
434
+ {
435
+ "target": "li.index-item typography-index-item-base index-item-base",
436
+ "timeline": "document",
437
+ "range": null,
438
+ "duration": 320
439
+ },
440
+ {
441
+ "target": "li.index-item typography-index-item-base index-item-base",
442
+ "timeline": "document",
443
+ "range": null,
444
+ "duration": 320
445
+ },
446
+ {
447
+ "target": "li.index-item typography-index-item-base index-item-base",
448
+ "timeline": "document",
449
+ "range": null,
450
+ "duration": 320
451
+ },
452
+ {
453
+ "target": "li.index-item typography-index-item-base index-item-base",
454
+ "timeline": "document",
455
+ "range": null,
456
+ "duration": 320
457
+ },
458
+ {
459
+ "target": "li.index-item typography-index-item-base index-item-base",
460
+ "timeline": "document",
461
+ "range": null,
462
+ "duration": 320
463
+ },
464
+ {
465
+ "target": "h3.typography-index-list-title index-list-title",
466
+ "timeline": "document",
467
+ "range": null,
468
+ "duration": 320
469
+ },
470
+ {
471
+ "target": "li.index-item typography-index-item-base index-item-base",
472
+ "timeline": "document",
473
+ "range": null,
474
+ "duration": 320
475
+ },
476
+ {
477
+ "target": "li.index-item typography-index-item-base index-item-base",
478
+ "timeline": "document",
479
+ "range": null,
480
+ "duration": 320
481
+ },
482
+ {
483
+ "target": "li.index-item typography-index-item-base index-item-base",
484
+ "timeline": "document",
485
+ "range": null,
486
+ "duration": 320
487
+ },
488
+ {
489
+ "target": "li.index-item typography-index-item-base index-item-base",
490
+ "timeline": "document",
491
+ "range": null,
492
+ "duration": 320
493
+ },
494
+ {
495
+ "target": "li.index-item typography-index-item-base index-item-base",
496
+ "timeline": "document",
497
+ "range": null,
498
+ "duration": 320
499
+ },
500
+ {
501
+ "target": "li.index-item typography-index-item-base index-item-base",
502
+ "timeline": "document",
503
+ "range": null,
504
+ "duration": 320
505
+ },
506
+ {
507
+ "target": "li.index-item typography-index-item-base index-item-base",
508
+ "timeline": "document",
509
+ "range": null,
510
+ "duration": 320
511
+ },
512
+ {
513
+ "target": "li.index-item typography-index-item-base index-item-base",
514
+ "timeline": "document",
515
+ "range": null,
516
+ "duration": 320
517
+ },
518
+ {
519
+ "target": "li.index-item typography-index-item-base index-item-base",
520
+ "timeline": "document",
521
+ "range": null,
522
+ "duration": 320
523
+ },
524
+ {
525
+ "target": "li.index-item typography-index-item-base index-item-base",
526
+ "timeline": "document",
527
+ "range": null,
528
+ "duration": 320
529
+ },
530
+ {
531
+ "target": "li.index-item typography-index-item-base index-item-base",
532
+ "timeline": "document",
533
+ "range": null,
534
+ "duration": 320
535
+ }
536
+ ]
537
+ },
538
+ {
539
+ "index": 33,
540
+ "tag": "footer",
541
+ "id": "ac-globalfooter",
542
+ "class": "js",
543
+ "top": 33149,
544
+ "height": 2442,
545
+ "animations": []
546
+ },
547
+ {
548
+ "index": 34,
549
+ "tag": "section",
550
+ "id": "",
551
+ "class": "ac-gf-sosumi",
552
+ "top": 33149,
553
+ "height": 1818,
554
+ "animations": []
555
+ },
556
+ {
557
+ "index": 35,
558
+ "tag": "section",
559
+ "id": "",
560
+ "class": "ac-gf-footer",
561
+ "top": 35464,
562
+ "height": 126,
563
+ "animations": []
564
+ }
565
+ ],
566
+ "screenshots": {
567
+ "390": "screen-390.png",
568
+ "1440": "screen-1440.png"
569
+ }
570
+ }
@@ -0,0 +1,62 @@
1
+ ---
2
+ slug: apple-macbook-neo
3
+ title: 'Apple: MacBook Neo product launch'
4
+ tier: inspiration
5
+ source:
6
+ kind: public-site
7
+ url: https://www.apple.com/macbook-neo
8
+ license: Captured from a Refero-hosted recording and the live site; description only, no redistribution of the source.
9
+ captured:
10
+ method: both
11
+ at: '2026-09-17'
12
+ tool: wp-design-library@0.4.0
13
+ captures:
14
+ - method: frames
15
+ input: /tmp/apple-macbook-neo-refero.mp4
16
+ artifacts:
17
+ - strip.webp
18
+ frames: 36
19
+ duration_ms: 17433
20
+ - method: both
21
+ input: https://www.apple.com/macbook-neo
22
+ artifacts:
23
+ - captures/2/strip.webp
24
+ - captures/2/measure.json
25
+ - captures/2/screen-1440.png
26
+ - captures/2/screen-390.png
27
+ media:
28
+ frames: 36
29
+ duration_ms: 17433
30
+ roles: [hero, feature, explainer, proof, offer]
31
+ feel: [light, premium, minimal, editorial, depth]
32
+ palette:
33
+ canvas: '#ffffff'
34
+ ink: '#1d1d1f'
35
+ accent: '#333336'
36
+ type:
37
+ display: '"SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif'
38
+ body: '"SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif'
39
+ motion:
40
+ devices: [reveal, pan, drift, stagger]
41
+ notes: Eyeballed from 36 sampled frames, not measured. Hands and product cards enter around the MacBook Neo hero, then the recording stages exploded views, screens, and accessories in sequential compositions. Individual triggers are not visible.
42
+ ported_from: null
43
+ ---
44
+
45
+ ## What it does
46
+
47
+ Apple introduces MacBook Neo as a tactile product launch, moving from a human hand-held object into its design details and screens.
48
+
49
+ ## Section roster
50
+
51
+ 1. Product hero with the Neo headline and hands-on interaction.
52
+ 2. Materials, colors, and hardware detail reveals.
53
+ 3. Display and accessory demonstrations.
54
+ 4. Product actions and supporting feature copy.
55
+
56
+ ## Why it works
57
+
58
+ The page treats product photography and motion as one sequence, so each new close-up feels like a continuation of the object story. The polished pacing leaves little room for comparative product information above the fold.
59
+
60
+ ## Sources
61
+
62
+ The Refero MP4 supplies the sampled motion sequence. The live capture at https://www.apple.com/macbook-neo supplies the current site URL and layout reference.
@@ -0,0 +1,63 @@
1
+ ---
2
+ slug: apple-watch-ultra-4
3
+ title: Apple Watch Ultra 4
4
+ tier: inspiration
5
+ source:
6
+ kind: public-site
7
+ url: https://www.apple.com/apple-watch-ultra-4/
8
+ license: Measured from Apple's live site; description only, no redistribution of the source.
9
+ captured:
10
+ method: both
11
+ at: '2026-09-16'
12
+ tool: wp-design-library@0.3.0
13
+ media: {}
14
+ roles: [hero, feature, capability, explainer, offer, footer]
15
+ feel: [dark, premium, minimal, depth, cold]
16
+ palette:
17
+ canvas: '#000000'
18
+ ink: '#1d1d1f'
19
+ accent: '#e8e8ed'
20
+ type:
21
+ display: '"SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif'
22
+ body: '"SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif'
23
+ motion:
24
+ devices: [tabs]
25
+ notes: >-
26
+ Eyeballed from 12 sampled frames, not measured. The page hands off between
27
+ large, isolated product stories on a nearly uninterrupted black canvas:
28
+ the hero places the watch beneath a large headline, later frames move from
29
+ health metrics to a running display, battery claim and feature cards. The
30
+ health/product-viewer areas show paired circular arrow controls, indicating
31
+ an inspectable carousel or tab-like sequence. The static scroll samples do
32
+ not establish a timed reveal, parallax, pinning, or the exact transition
33
+ between slides, so those devices are intentionally not claimed.
34
+ ported_from: null
35
+ ---
36
+
37
+ ## What it does
38
+
39
+ A product launch page that makes the watch itself the primary evidence. It holds
40
+ almost every product story against a black field, using white upper-case display
41
+ copy, occasional saturated green health data, and large close renders of the
42
+ hardware. The visual rhythm moves between singular product images, dashboard
43
+ screens and a final grid of smaller capabilities rather than relying on a dense
44
+ comparison table.
45
+
46
+ ## Section roster
47
+
48
+ hero (headline, availability and large watch render), feature (highlights and
49
+ product viewer), capability (health tracking, readiness and heart-rate stories),
50
+ feature (running metrics and battery claim), explainer (health app and Siri
51
+ stories), capability (sports, adventure and on-the-go/satellite stories), offer
52
+ (trade-in incentive), feature (technical comparison and environmental/value
53
+ sections), footer (legal and Apple-wide navigation).
54
+
55
+ ## Why it works
56
+
57
+ The black canvas removes visual competition, so the edge-lit watch renders and
58
+ small bright data colours carry the depth. Oversized headlines create pauses
59
+ between technical claims, while the repeated product silhouette makes many
60
+ features feel like parts of one system. The late card grid gives breadth without
61
+ breaking the single-product focus. Cost to weigh: the approach depends on
62
+ exceptional proprietary photography and a recognisable physical object; without
63
+ them, the large empty fields can feel underfilled.