@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.
- package/.env.example +7 -0
- package/README.md +52 -9
- package/bin/library.mjs +11 -0
- package/entries/ada/entry.md +55 -0
- package/entries/ada/strip.webp +0 -0
- package/entries/air/captures/2/measure.json +325 -0
- package/entries/air/captures/2/strip.webp +0 -0
- package/entries/air/entry.md +62 -0
- package/entries/air/strip.webp +0 -0
- package/entries/ais-community-dark-depth/strip.webp +0 -0
- package/entries/apple-home/captures/2/measure.json +91 -0
- package/entries/apple-home/captures/2/strip.webp +0 -0
- package/entries/apple-home/entry.md +64 -0
- package/entries/apple-home/strip.webp +0 -0
- package/entries/apple-macbook-neo/captures/2/measure.json +570 -0
- package/entries/apple-macbook-neo/captures/2/strip.webp +0 -0
- package/entries/apple-macbook-neo/entry.md +62 -0
- package/entries/apple-macbook-neo/strip.webp +0 -0
- package/entries/apple-watch-ultra-4/entry.md +63 -0
- package/entries/apple-watch-ultra-4/measure.json +481 -0
- package/entries/apple-watch-ultra-4/strip.webp +0 -0
- package/entries/bpco/captures/2/strip.webp +0 -0
- package/entries/bpco/captures/3/strip.webp +0 -0
- package/entries/bpco/entry.md +81 -0
- package/entries/bpco/strip.webp +0 -0
- package/entries/column/captures/2/measure.json +996 -0
- package/entries/column/captures/2/strip.webp +0 -0
- package/entries/column/entry.md +82 -0
- package/entries/column/strip.webp +0 -0
- package/entries/cthdrl/captures/2/measure.json +251 -0
- package/entries/cthdrl/captures/2/strip.webp +0 -0
- package/entries/cthdrl/entry.md +86 -0
- package/entries/cthdrl/strip.webp +0 -0
- package/entries/dala-craftedbygc/entry.md +69 -0
- package/entries/dala-craftedbygc/strip.webp +0 -0
- package/entries/dock/captures/2/measure.json +206 -0
- package/entries/dock/captures/2/strip.webp +0 -0
- package/entries/dock/entry.md +62 -0
- package/entries/dock/strip.webp +0 -0
- package/entries/dub/captures/2/measure.json +37 -0
- package/entries/dub/captures/2/strip.webp +0 -0
- package/entries/dub/entry.md +61 -0
- package/entries/dub/strip.webp +0 -0
- package/entries/duolingo/captures/2/measure.json +138 -0
- package/entries/duolingo/captures/2/strip.webp +0 -0
- package/entries/duolingo/entry.md +65 -0
- package/entries/duolingo/strip.webp +0 -0
- package/entries/elevenlabs/captures/2/measure.json +160 -0
- package/entries/elevenlabs/captures/2/strip.webp +0 -0
- package/entries/elevenlabs/entry.md +62 -0
- package/entries/elevenlabs/strip.webp +0 -0
- package/entries/flying-papers/captures/2/measure.json +291 -0
- package/entries/flying-papers/captures/2/strip.webp +0 -0
- package/entries/flying-papers/entry.md +61 -0
- package/entries/flying-papers/strip.webp +0 -0
- package/entries/gsap/captures/2/measure.json +120 -0
- package/entries/gsap/captures/2/strip.webp +0 -0
- package/entries/gsap/entry.md +62 -0
- package/entries/gsap/strip.webp +0 -0
- package/entries/letters/captures/2/measure.json +20 -0
- package/entries/letters/captures/2/strip.webp +0 -0
- package/entries/letters/entry.md +62 -0
- package/entries/letters/strip.webp +0 -0
- package/entries/micro/captures/2/measure.json +852 -0
- package/entries/micro/captures/2/strip.webp +0 -0
- package/entries/micro/entry.md +61 -0
- package/entries/micro/strip.webp +0 -0
- package/entries/monopo-saigon/captures/2/measure.json +145 -0
- package/entries/monopo-saigon/captures/2/strip.webp +0 -0
- package/entries/monopo-saigon/entry.md +64 -0
- package/entries/monopo-saigon/strip.webp +0 -0
- package/entries/notion/captures/2/measure.json +338 -0
- package/entries/notion/captures/2/strip.webp +0 -0
- package/entries/notion/entry.md +66 -0
- package/entries/notion/strip.webp +0 -0
- package/entries/origin-financial/captures/2/measure.json +169 -0
- package/entries/origin-financial/captures/2/strip.webp +0 -0
- package/entries/origin-financial/entry.md +65 -0
- package/entries/origin-financial/strip.webp +0 -0
- package/entries/oryzo-ai/captures/2/measure.json +39 -0
- package/entries/oryzo-ai/captures/2/strip.webp +0 -0
- package/entries/oryzo-ai/entry.md +76 -0
- package/entries/oryzo-ai/strip.webp +0 -0
- package/entries/silencio/captures/2/strip.webp +0 -0
- package/entries/silencio/entry.md +114 -0
- package/entries/silencio/motion/product-story/frame-0.webp +0 -0
- package/entries/silencio/motion/product-story/frame-1.webp +0 -0
- package/entries/silencio/motion/product-story/frame-2.webp +0 -0
- package/entries/silencio/motion/product-story/frame-3.webp +0 -0
- package/entries/silencio/motion/product-story/frame-4.webp +0 -0
- package/entries/silencio/motion/product-story/frame-5.webp +0 -0
- package/entries/silencio/motion/product-story/frame-6.webp +0 -0
- package/entries/silencio/motion/product-story/frame-7.webp +0 -0
- package/entries/silencio/strip.webp +0 -0
- package/entries/steep/captures/2/measure.json +20 -0
- package/entries/steep/captures/2/strip.webp +0 -0
- package/entries/steep/entry.md +63 -0
- package/entries/steep/strip.webp +0 -0
- package/entries/stripe/captures/2/measure.json +892 -0
- package/entries/stripe/captures/2/strip.webp +0 -0
- package/entries/stripe/entry.md +61 -0
- package/entries/stripe/strip.webp +0 -0
- package/entries/superpower/captures/2/measure.json +179 -0
- package/entries/superpower/captures/2/strip.webp +0 -0
- package/entries/superpower/entry.md +64 -0
- package/entries/superpower/strip.webp +0 -0
- package/entries/superr/entry.md +54 -0
- package/entries/superr/strip.webp +0 -0
- package/entries/svz-weare/captures/2/measure.json +129 -0
- package/entries/svz-weare/captures/2/strip.webp +0 -0
- package/entries/svz-weare/entry.md +147 -0
- package/entries/svz-weare/motion/hero-transition/frame-0.webp +0 -0
- package/entries/svz-weare/motion/hero-transition/frame-1.webp +0 -0
- package/entries/svz-weare/motion/hero-transition/frame-2.webp +0 -0
- package/entries/svz-weare/motion/hero-transition/frame-3.webp +0 -0
- package/entries/svz-weare/motion/hero-transition/frame-4.webp +0 -0
- package/entries/svz-weare/motion/hero-transition/frame-5.webp +0 -0
- package/entries/svz-weare/motion/hero-transition/frame-6.webp +0 -0
- package/entries/svz-weare/motion/hero-transition/frame-7.webp +0 -0
- package/entries/svz-weare/strip.webp +0 -0
- package/entries/thoughtlab/captures/2/measure.json +93 -0
- package/entries/thoughtlab/captures/2/strip.webp +0 -0
- package/entries/thoughtlab/entry.md +62 -0
- package/entries/thoughtlab/strip.webp +0 -0
- package/entries/ventriloc/entry.md +54 -0
- package/entries/ventriloc/strip.webp +0 -0
- package/entries/vivid-and-co/entry.md +58 -0
- package/entries/vivid-and-co/strip.webp +0 -0
- package/package.json +24 -5
- package/src/cli/add.mjs +100 -24
- package/src/cli/motion.mjs +168 -0
- package/src/cli/refresh.mjs +6 -0
- package/src/cli/ui.mjs +2 -1
- package/src/entry.mjs +14 -1
- package/src/index/build.mjs +9 -3
- package/src/index/embed.mjs +1 -1
- package/src/ingest/agreement.mjs +33 -0
- package/src/ingest/attach.mjs +67 -0
- package/src/ingest/draft.mjs +5 -2
- package/src/ingest/frames.mjs +20 -6
- package/src/ingest/measure.mjs +34 -1
- package/src/ingest/observed.mjs +29 -0
- package/src/mcp/http.mjs +1 -1
- package/src/mcp/instructions.mjs +2 -1
- package/src/mcp/prompts.mjs +12 -1
- package/src/mcp/resources.mjs +14 -0
- package/src/mcp/tools.mjs +48 -5
- package/src/motion.mjs +94 -0
- package/src/ui/build.mjs +83 -7
- package/src/ui/serve.mjs +29 -4
- package/src/ui/templates/entry.html +9 -1
- package/entries/ais-community-dark-depth/strip.png +0 -0
- package/tests/README.md +0 -33
- package/tests/checks/cli-check.sh +0 -13
- package/tests/checks/docker.sh +0 -10
- package/tests/checks/entry-detail.sh +0 -52
- package/tests/checks/entry.sh +0 -55
- package/tests/checks/export.sh +0 -16
- package/tests/checks/fetch-on-start.sh +0 -26
- package/tests/checks/frames-dense.sh +0 -27
- package/tests/checks/http.sh +0 -22
- package/tests/checks/hygiene.sh +0 -29
- package/tests/checks/inbox.sh +0 -27
- package/tests/checks/index-degrade.sh +0 -32
- package/tests/checks/index.sh +0 -36
- package/tests/checks/ingest-mp4.sh +0 -47
- package/tests/checks/ingest.sh +0 -39
- package/tests/checks/instructions.sh +0 -31
- package/tests/checks/licence-gate.sh +0 -24
- package/tests/checks/mcp-stdout.sh +0 -31
- package/tests/checks/measure.sh +0 -79
- package/tests/checks/minors.sh +0 -84
- package/tests/checks/optional-deps.sh +0 -55
- package/tests/checks/prompt-add-entry.sh +0 -28
- package/tests/checks/recommend.sh +0 -107
- package/tests/checks/resources.sh +0 -47
- package/tests/checks/rrf.sh +0 -120
- package/tests/checks/seed-sync.sh +0 -22
- package/tests/checks/similar.sh +0 -62
- package/tests/checks/ui-build.sh +0 -59
- package/tests/checks/vocab.sh +0 -30
- package/tests/fixtures/entry-ok/entry.md +0 -41
- package/tests/fixtures/entry-ok/strip.png +0 -0
- package/tests/fixtures/page/index.html +0 -47
- package/tests/fixtures/three-frame.webp +0 -0
- package/tests/run.sh +0 -16
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"url": "https://www.apple.com/",
|
|
3
|
+
"at": "2026-09-16",
|
|
4
|
+
"viewport": [
|
|
5
|
+
1440,
|
|
6
|
+
390
|
|
7
|
+
],
|
|
8
|
+
"tokens": {
|
|
9
|
+
"canvas": "#ffffff",
|
|
10
|
+
"ink": "#1d1d1f",
|
|
11
|
+
"accent": "#333336",
|
|
12
|
+
"fontDisplay": "\"SF Pro Text\", \"SF Pro Icons\", \"Helvetica Neue\", Helvetica, Arial, sans-serif",
|
|
13
|
+
"fontBody": "\"SF Pro Display\", \"SF Pro Icons\", \"Helvetica Neue\", Helvetica, Arial, sans-serif"
|
|
14
|
+
},
|
|
15
|
+
"sections": [
|
|
16
|
+
{
|
|
17
|
+
"index": 0,
|
|
18
|
+
"tag": "section",
|
|
19
|
+
"id": "",
|
|
20
|
+
"class": "section-ribbon",
|
|
21
|
+
"top": 44,
|
|
22
|
+
"height": 52,
|
|
23
|
+
"animations": []
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"index": 1,
|
|
27
|
+
"tag": "section",
|
|
28
|
+
"id": "",
|
|
29
|
+
"class": "section section-hero",
|
|
30
|
+
"top": 96,
|
|
31
|
+
"height": 2100,
|
|
32
|
+
"animations": []
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"index": 2,
|
|
36
|
+
"tag": "section",
|
|
37
|
+
"id": "",
|
|
38
|
+
"class": "section section-promo",
|
|
39
|
+
"top": 2208,
|
|
40
|
+
"height": 1764,
|
|
41
|
+
"animations": []
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"index": 3,
|
|
45
|
+
"tag": "section",
|
|
46
|
+
"id": "",
|
|
47
|
+
"class": "section-endless-entertainment-gallery",
|
|
48
|
+
"top": 3984,
|
|
49
|
+
"height": 957,
|
|
50
|
+
"animations": [
|
|
51
|
+
{
|
|
52
|
+
"target": "a.media-gallery-dotnav-link dotnav-link",
|
|
53
|
+
"timeline": "document",
|
|
54
|
+
"range": null,
|
|
55
|
+
"duration": 4160
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"index": 4,
|
|
61
|
+
"tag": "footer",
|
|
62
|
+
"id": "ac-globalfooter",
|
|
63
|
+
"class": "js",
|
|
64
|
+
"top": 4941,
|
|
65
|
+
"height": 1111,
|
|
66
|
+
"animations": []
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"index": 5,
|
|
70
|
+
"tag": "section",
|
|
71
|
+
"id": "",
|
|
72
|
+
"class": "ac-gf-sosumi",
|
|
73
|
+
"top": 4941,
|
|
74
|
+
"height": 525,
|
|
75
|
+
"animations": []
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"index": 6,
|
|
79
|
+
"tag": "section",
|
|
80
|
+
"id": "",
|
|
81
|
+
"class": "ac-gf-footer",
|
|
82
|
+
"top": 5926,
|
|
83
|
+
"height": 126,
|
|
84
|
+
"animations": []
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"screenshots": {
|
|
88
|
+
"390": "screen-390.png",
|
|
89
|
+
"1440": "screen-1440.png"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: apple-home
|
|
3
|
+
title: 'Apple: product-launch homepage'
|
|
4
|
+
tier: inspiration
|
|
5
|
+
source:
|
|
6
|
+
kind: public-site
|
|
7
|
+
url: https://www.apple.com/
|
|
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-16'
|
|
12
|
+
tool: wp-design-library@0.4.0
|
|
13
|
+
captures:
|
|
14
|
+
- method: frames
|
|
15
|
+
input: /tmp/apple-home-refero.mp4
|
|
16
|
+
artifacts:
|
|
17
|
+
- strip.webp
|
|
18
|
+
frames: 31
|
|
19
|
+
duration_ms: 15317
|
|
20
|
+
- method: both
|
|
21
|
+
input: https://www.apple.com/
|
|
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: 31
|
|
29
|
+
duration_ms: 15317
|
|
30
|
+
roles: [hero, feature, capability, offer, proof, closing, footer]
|
|
31
|
+
feel: [light, premium, editorial, minimal, cold]
|
|
32
|
+
palette:
|
|
33
|
+
canvas: '#ffffff'
|
|
34
|
+
ink: '#1d1d1f'
|
|
35
|
+
accent: '#0071e3'
|
|
36
|
+
type:
|
|
37
|
+
display: '"SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif'
|
|
38
|
+
body: '"SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif'
|
|
39
|
+
motion:
|
|
40
|
+
devices: [reveal, pan, drift, tabs]
|
|
41
|
+
notes: 'The Refero recording opens on a glossy, dark WWDC26 Apple mark that changes shape and lighting before cutting into large iPhone launch panels. Product imagery eases into view behind fixed headline and action rows. The live page uses the same product-launch rhythm in a different campaign state, then switches to smaller offer tiles and an entertainment gallery with a documented 4.16-second dot-navigation cycle. No interaction trigger beyond the gallery navigation is asserted.'
|
|
42
|
+
ported_from: null
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## What it does
|
|
46
|
+
|
|
47
|
+
Apple's homepage sequences a small number of flagship launches as large editorial panels, then compresses the wider ecosystem into a tidy product grid and an entertainment gallery. It relies on product renders, almost no explanatory copy, and repeated paired actions to make a broad catalog feel curated.
|
|
48
|
+
|
|
49
|
+
## Section roster
|
|
50
|
+
|
|
51
|
+
1. Global navigation and a compact promotional ribbon.
|
|
52
|
+
2. Full-width dark iPhone launch hero.
|
|
53
|
+
3. Light iPhone Duo launch hero.
|
|
54
|
+
4. Dark Watch Series and Watch Ultra launch panels.
|
|
55
|
+
5. Compact product/service grid for AirPods, iCloud, MacBook Air, Upgrade, Card, and Trade In.
|
|
56
|
+
6. Entertainment gallery with carousel-style navigation, legal detail, and global footer.
|
|
57
|
+
|
|
58
|
+
## Why it works
|
|
59
|
+
|
|
60
|
+
Each flagship gets the visual authority of a campaign page before the catalog switches to a regular grid. The strict black/white field lets product colors carry the image, and the small blue action pills remain easy to find without competing with the hardware. The cost is that the dense legal/footer area is intentionally separated from the launch story.
|
|
61
|
+
|
|
62
|
+
## Sources
|
|
63
|
+
|
|
64
|
+
The Refero Styles page supplied the 15.32-second MP4 at https://images.refero.design/styles/refero.design/video/483a5674-2b16-48aa-bd93-9c57ef728ceb.mp4. It records a WWDC26 and iPhone 17 Pro campaign state with the animated Apple mark. The live capture at https://www.apple.com/ provides the current iPhone 18 Pro, iPhone Duo, Watch Series 12, Watch Ultra 4, offer grid, entertainment gallery, measured tokens, and desktop/mobile layout. Product campaigns differ between sources; the repeated launch-panel structure is consistent.
|
|
Binary file
|