@anvpx/motion-templates 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +9 -0
- package/dist/roots.d.ts +41 -0
- package/dist/roots.js +81 -0
- package/package.json +34 -3
- package/shared/themes/README.md +5 -0
- package/shared/themes/bold-dark.json +362 -0
- package/shared/themes/bold-light.json +362 -0
- package/shared/themes/calm-dark.json +362 -0
- package/shared/themes/calm-light.json +362 -0
- package/shared/themes/data-dark.json +360 -0
- package/shared/themes/data-light.json +360 -0
- package/shared/themes/editorial-dark.json +353 -0
- package/shared/themes/editorial-light.json +353 -0
- package/shared/themes/fjord-dark.json +124 -0
- package/shared/themes/fjord-light.json +124 -0
- package/shared/themes/playful-dark.json +362 -0
- package/shared/themes/playful-light.json +362 -0
- package/shared/themes/pop-dark.json +352 -0
- package/shared/themes/pop-light.json +352 -0
- package/shared/themes/tech-dark.json +360 -0
- package/shared/themes/tech-light.json +360 -0
- package/shared/themes/warm-dark.json +368 -0
- package/shared/themes/warm-light.json +368 -0
- package/stopwords.json +65 -0
- package/templates/compare/blueprints/versus.json +79 -0
- package/templates/compare/copy.md +18 -0
- package/templates/compare/pacing.json +15 -0
- package/templates/compare/previews/versus.png +0 -0
- package/templates/compare/styles/editorial.json +6 -0
- package/templates/compare/styles/punchy.json +6 -0
- package/templates/compare/styles/tidy.json +6 -0
- package/templates/compare/template.json +52 -0
- package/templates/datastory/blueprints/data-story.json +95 -0
- package/templates/datastory/blueprints/infographic.json +106 -0
- package/templates/datastory/blueprints/trend.json +93 -0
- package/templates/datastory/copy.md +16 -0
- package/templates/datastory/pacing.json +17 -0
- package/templates/datastory/previews/data-story.png +0 -0
- package/templates/datastory/previews/infographic.png +0 -0
- package/templates/datastory/previews/trend.png +0 -0
- package/templates/datastory/styles/clear.json +6 -0
- package/templates/datastory/styles/editorial.json +6 -0
- package/templates/datastory/styles/pop.json +7 -0
- package/templates/datastory/template.json +57 -0
- package/templates/event/blueprints/promo.json +71 -0
- package/templates/event/blueprints/save-the-date.json +61 -0
- package/templates/event/copy.md +16 -0
- package/templates/event/pacing.json +15 -0
- package/templates/event/previews/promo.png +0 -0
- package/templates/event/previews/save-the-date.png +0 -0
- package/templates/event/styles/bright.json +6 -0
- package/templates/event/styles/pop.json +6 -0
- package/templates/event/template.json +37 -0
- package/templates/explain/blueprints/architecture.json +76 -0
- package/templates/explain/blueprints/concept.json +89 -0
- package/templates/explain/blueprints/howto.json +56 -0
- package/templates/explain/blueprints/overview.json +126 -0
- package/templates/explain/copy.md +19 -0
- package/templates/explain/pacing.json +19 -0
- package/templates/explain/previews/architecture.png +0 -0
- package/templates/explain/previews/concept.png +0 -0
- package/templates/explain/previews/howto.png +0 -0
- package/templates/explain/previews/overview.png +0 -0
- package/templates/explain/styles/calm.json +6 -0
- package/templates/explain/styles/crisp.json +6 -0
- package/templates/explain/template.json +64 -0
- package/templates/guide/blueprints/lesson.json +173 -0
- package/templates/guide/blueprints/onboarding.json +80 -0
- package/templates/guide/blueprints/tutorial.json +102 -0
- package/templates/guide/copy.md +17 -0
- package/templates/guide/pacing.json +59 -0
- package/templates/guide/previews/lesson.png +0 -0
- package/templates/guide/previews/onboarding.png +0 -0
- package/templates/guide/previews/tutorial.png +0 -0
- package/templates/guide/styles/calm.json +15 -0
- package/templates/guide/styles/friendly.json +15 -0
- package/templates/guide/styles/techdark.json +15 -0
- package/templates/guide/template.json +95 -0
- package/templates/pitch/blueprints/feature.json +134 -0
- package/templates/pitch/blueprints/launch.json +173 -0
- package/templates/pitch/blueprints/pricing.json +141 -0
- package/templates/pitch/copy.md +18 -0
- package/templates/pitch/pacing.json +59 -0
- package/templates/pitch/previews/feature.png +0 -0
- package/templates/pitch/previews/launch.png +0 -0
- package/templates/pitch/previews/pricing.png +0 -0
- package/templates/pitch/styles/polished.json +6 -0
- package/templates/pitch/styles/punchy.json +6 -0
- package/templates/pitch/styles/teaser.json +12 -0
- package/templates/pitch/template.json +45 -0
- package/templates/recap/blueprints/news-recap.json +62 -0
- package/templates/recap/blueprints/timeline-story.json +94 -0
- package/templates/recap/copy.md +16 -0
- package/templates/recap/pacing.json +16 -0
- package/templates/recap/previews/news-recap.png +0 -0
- package/templates/recap/previews/timeline-story.png +0 -0
- package/templates/recap/styles/editorial.json +6 -0
- package/templates/recap/styles/editorialdark.json +6 -0
- package/templates/recap/template.json +50 -0
- package/templates/report/blueprints/kpi-review.json +116 -0
- package/templates/report/blueprints/status.json +78 -0
- package/templates/report/copy.md +17 -0
- package/templates/report/pacing.json +16 -0
- package/templates/report/previews/kpi-review.png +0 -0
- package/templates/report/previews/status.png +0 -0
- package/templates/report/styles/exec.json +6 -0
- package/templates/report/styles/memo.json +6 -0
- package/templates/report/styles/walkthrough.json +6 -0
- package/templates/report/template.json +56 -0
- package/templates/social/blueprints/announce.json +109 -0
- package/templates/social/blueprints/listicle.json +117 -0
- package/templates/social/blueprints/tip.json +114 -0
- package/templates/social/copy.md +18 -0
- package/templates/social/pacing.json +49 -0
- package/templates/social/previews/announce.png +0 -0
- package/templates/social/previews/listicle.png +0 -0
- package/templates/social/previews/tip.png +0 -0
- package/templates/social/styles/captioned.json +18 -0
- package/templates/social/styles/hook-first.json +15 -0
- package/templates/social/styles/techcut.json +15 -0
- package/templates/social/template.json +94 -0
- package/templates/update/blueprints/announcement.json +57 -0
- package/templates/update/blueprints/changelog.json +157 -0
- package/templates/update/blueprints/release-notes.json +151 -0
- package/templates/update/blueprints/weekly-update.json +88 -0
- package/templates/update/copy.md +17 -0
- package/templates/update/pacing.json +64 -0
- package/templates/update/previews/announcement.png +0 -0
- package/templates/update/previews/changelog.png +0 -0
- package/templates/update/previews/release-notes.png +0 -0
- package/templates/update/previews/weekly-update.png +0 -0
- package/templates/update/styles/punchy.json +15 -0
- package/templates/update/styles/techdark.json +6 -0
- package/templates/update/styles/tidy.json +6 -0
- package/templates/update/template.json +67 -0
- package/templates/vista/blueprints/spotlight.json +68 -0
- package/templates/vista/blueprints/tour.json +84 -0
- package/templates/vista/copy.md +18 -0
- package/templates/vista/pacing.json +14 -0
- package/templates/vista/previews/spotlight.png +0 -0
- package/templates/vista/previews/tour.png +0 -0
- package/templates/vista/styles/bright.json +6 -0
- package/templates/vista/styles/cinematic.json +6 -0
- package/templates/vista/template.json +42 -0
- package/templates/walkthrough/blueprints/product-tour.json +107 -0
- package/templates/walkthrough/copy.md +16 -0
- package/templates/walkthrough/pacing.json +16 -0
- package/templates/walkthrough/previews/product-tour.png +0 -0
- package/templates/walkthrough/styles/calm.json +6 -0
- package/templates/walkthrough/styles/deep.json +6 -0
- package/templates/walkthrough/template.json +37 -0
- package/README.md +0 -3
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "onboarding",
|
|
3
|
+
"purpose": "Welcome a new user: what they get, 3-5 first steps in order, and a checklist to finish setup.",
|
|
4
|
+
"discover": {
|
|
5
|
+
"useCases": [
|
|
6
|
+
"Walk a new user through the first steps of a tool and a setup checklist.",
|
|
7
|
+
"Welcome new teammates with what they get, what to do first and what to finish.",
|
|
8
|
+
"Show three to six benefits as icon cards before a short ordered path."
|
|
9
|
+
],
|
|
10
|
+
"audience": ["new-hires", "customers", "learners"],
|
|
11
|
+
"goodFor": "A first-day tour: 3-6 perks, 3-5 first steps and a short checklist.",
|
|
12
|
+
"notFor": "Deep tutorials (tutorial), concept teaching (lesson), persuasion (pitch).",
|
|
13
|
+
"tags": ["onboarding", "tutorial", "steps", "product", "howto", "education"],
|
|
14
|
+
"tone": ["friendly", "calm"],
|
|
15
|
+
"aspects": ["16:9"],
|
|
16
|
+
"lengths": { "min": 35, "max": 80 }
|
|
17
|
+
},
|
|
18
|
+
"slots": {
|
|
19
|
+
"product": { "type": "text", "max": 40, "required": true },
|
|
20
|
+
"perks": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"fields": { "icon": "text", "label": "text", "detail": "text" },
|
|
23
|
+
"list": true,
|
|
24
|
+
"min": 3,
|
|
25
|
+
"max": 6,
|
|
26
|
+
"required": true
|
|
27
|
+
},
|
|
28
|
+
"steps": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"fields": { "label": "text", "detail": "text" },
|
|
31
|
+
"list": true,
|
|
32
|
+
"min": 3,
|
|
33
|
+
"max": 5,
|
|
34
|
+
"required": true
|
|
35
|
+
},
|
|
36
|
+
"checklist": { "type": "text[]", "min": 2, "max": 5, "itemMax": 45, "required": true },
|
|
37
|
+
"closing": { "type": "text", "max": 60, "default": "Welcome aboard" },
|
|
38
|
+
"length": { "type": "enum", "values": ["short", "standard", "long"], "default": "standard" },
|
|
39
|
+
"style": { "type": "enum", "values": ["calm", "techdark", "friendly"], "default": "friendly" }
|
|
40
|
+
},
|
|
41
|
+
"example": {
|
|
42
|
+
"product": "Welcome to Briar Notes",
|
|
43
|
+
"perks": [
|
|
44
|
+
{ "icon": "users", "label": "Shared spaces", "detail": "Work together" },
|
|
45
|
+
{ "icon": "bell", "label": "Smart alerts", "detail": "Never miss news" },
|
|
46
|
+
{ "icon": "sparkles", "label": "Quick start", "detail": "Ready in minutes" }
|
|
47
|
+
],
|
|
48
|
+
"steps": [
|
|
49
|
+
{ "label": "Sign in", "detail": "Use your work email" },
|
|
50
|
+
{ "label": "Join", "detail": "Pick your team" },
|
|
51
|
+
{ "label": "Explore", "detail": "Open the dashboard" }
|
|
52
|
+
],
|
|
53
|
+
"checklist": ["Add a profile photo", "Invite a teammate", "Turn on alerts"],
|
|
54
|
+
"closing": "Welcome aboard"
|
|
55
|
+
},
|
|
56
|
+
"meta": { "title": { "$slot": "product" }, "lang": "en" },
|
|
57
|
+
"scenes": [
|
|
58
|
+
{
|
|
59
|
+
"id": "intro",
|
|
60
|
+
"type": "title",
|
|
61
|
+
"props": { "kicker": "Getting started", "title": { "$slot": "product" } }
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "perks",
|
|
65
|
+
"type": "icon-grid",
|
|
66
|
+
"props": { "title": "What you get", "items": { "$slot": "perks" } }
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "first-steps",
|
|
70
|
+
"type": "steps",
|
|
71
|
+
"props": { "title": "Your first steps", "layout": "path", "steps": { "$slot": "steps" } }
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "setup",
|
|
75
|
+
"type": "bullets",
|
|
76
|
+
"props": { "title": "Finish setup", "items": { "$slot": "checklist" }, "marker": "check" }
|
|
77
|
+
},
|
|
78
|
+
{ "id": "end", "type": "outro", "props": { "title": { "$slot": "closing" } } }
|
|
79
|
+
]
|
|
80
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "tutorial",
|
|
3
|
+
"purpose": "Teach a procedure: title, 3-6 numbered steps, an optional code or screen example, and a checked recap.",
|
|
4
|
+
"discover": {
|
|
5
|
+
"useCases": [
|
|
6
|
+
"Teach a procedure with numbered steps and a code or command example.",
|
|
7
|
+
"Show a screen or screenshot with the step that matters, then recap it.",
|
|
8
|
+
"Give learners a short checklist of what they can now do."
|
|
9
|
+
],
|
|
10
|
+
"audience": ["learners", "developers", "new-hires", "customers"],
|
|
11
|
+
"goodFor": "A procedure with 3-6 ordered steps and one example to show.",
|
|
12
|
+
"notFor": "Concept lessons (lesson), first-day product tours (onboarding), persuasion (pitch).",
|
|
13
|
+
"tags": ["tutorial", "howto", "steps", "code", "education", "dev"],
|
|
14
|
+
"tone": ["calm", "friendly"],
|
|
15
|
+
"aspects": ["16:9"],
|
|
16
|
+
"lengths": { "min": 30, "max": 90 }
|
|
17
|
+
},
|
|
18
|
+
"slots": {
|
|
19
|
+
"title": { "type": "text", "max": 60, "required": true },
|
|
20
|
+
"steps": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"fields": { "label": "text", "detail": "text" },
|
|
23
|
+
"list": true,
|
|
24
|
+
"min": 3,
|
|
25
|
+
"max": 6,
|
|
26
|
+
"required": true
|
|
27
|
+
},
|
|
28
|
+
"code": { "type": "text[]", "min": 1, "max": 14, "itemMax": 60, "optional": true },
|
|
29
|
+
"lang": {
|
|
30
|
+
"type": "enum",
|
|
31
|
+
"values": ["js", "ts", "json", "py", "sh", "plain"],
|
|
32
|
+
"default": "sh"
|
|
33
|
+
},
|
|
34
|
+
"file": { "type": "text", "max": 40, "optional": true },
|
|
35
|
+
"screenshot": { "type": "text", "max": 120, "optional": true },
|
|
36
|
+
"caption": { "type": "text", "max": 100, "optional": true },
|
|
37
|
+
"recap": { "type": "text[]", "min": 2, "max": 4, "itemMax": 45, "optional": true },
|
|
38
|
+
"next": { "type": "text", "max": 60, "default": "Next: try it on your own" },
|
|
39
|
+
"length": { "type": "enum", "values": ["short", "standard", "long"], "default": "standard" },
|
|
40
|
+
"style": { "type": "enum", "values": ["calm", "techdark", "friendly"], "default": "calm" }
|
|
41
|
+
},
|
|
42
|
+
"example": {
|
|
43
|
+
"title": "Start a new project",
|
|
44
|
+
"steps": [
|
|
45
|
+
{ "label": "Install", "detail": "Get the tool" },
|
|
46
|
+
{ "label": "Create", "detail": "Make a project" },
|
|
47
|
+
{ "label": "Run", "detail": "Start the server" },
|
|
48
|
+
{ "label": "Open", "detail": "Visit the page" }
|
|
49
|
+
],
|
|
50
|
+
"code": [
|
|
51
|
+
"$ briar install",
|
|
52
|
+
"$ briar create my-app",
|
|
53
|
+
"$ cd my-app",
|
|
54
|
+
"$ briar run",
|
|
55
|
+
"Ready on port 3000"
|
|
56
|
+
],
|
|
57
|
+
"lang": "sh",
|
|
58
|
+
"file": "terminal",
|
|
59
|
+
"recap": ["Install the tool", "Create a project", "Run it locally"],
|
|
60
|
+
"next": "Next: try it on your own"
|
|
61
|
+
},
|
|
62
|
+
"meta": { "title": { "$slot": "title" }, "lang": "en" },
|
|
63
|
+
"scenes": [
|
|
64
|
+
{
|
|
65
|
+
"id": "intro",
|
|
66
|
+
"type": "title",
|
|
67
|
+
"props": { "kicker": "Tutorial", "title": { "$slot": "title" } }
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "steps",
|
|
71
|
+
"type": "steps",
|
|
72
|
+
"props": { "title": "Follow along", "layout": "path", "steps": { "$slot": "steps" } }
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"when": "code",
|
|
76
|
+
"id": "example",
|
|
77
|
+
"type": "code",
|
|
78
|
+
"props": {
|
|
79
|
+
"lines": { "$slot": "code" },
|
|
80
|
+
"lang": { "$slot": "lang" },
|
|
81
|
+
"file": { "$slot": "file" }
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"when": "screenshot",
|
|
86
|
+
"id": "screen",
|
|
87
|
+
"type": "media-frame",
|
|
88
|
+
"props": {
|
|
89
|
+
"image": { "$slot": "screenshot" },
|
|
90
|
+
"device": "browser",
|
|
91
|
+
"caption": { "$slot": "caption" }
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"when": "recap",
|
|
96
|
+
"id": "recap",
|
|
97
|
+
"type": "bullets",
|
|
98
|
+
"props": { "title": "You can now", "items": { "$slot": "recap" }, "marker": "check" }
|
|
99
|
+
},
|
|
100
|
+
{ "id": "end", "type": "outro", "props": { "title": { "$slot": "next" } } }
|
|
101
|
+
]
|
|
102
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Guide copy guide
|
|
2
|
+
|
|
3
|
+
Tone: patient, encouraging, concrete. Teach one thing at a time.
|
|
4
|
+
|
|
5
|
+
Do
|
|
6
|
+
- Title: the outcome ("Deploy your first app"), at most 8 words.
|
|
7
|
+
- Steps: label is a verb ("Install", "Run"), 1-2 words; detail one short clause, no full stop.
|
|
8
|
+
- Code: real, minimal lines of 60 characters or fewer; show the command, then the result.
|
|
9
|
+
- Objectives start with a verb; recap repeats them as done ("You can now...").
|
|
10
|
+
- Close with the next thing to learn or try.
|
|
11
|
+
|
|
12
|
+
Don't
|
|
13
|
+
- No more than 6 steps, 14 code lines or 25 words per scene.
|
|
14
|
+
- No jargon without a gloss; spell out acronyms once.
|
|
15
|
+
- No exclamation marks, emoji, or "simply", "just", "easy".
|
|
16
|
+
|
|
17
|
+
Vocabulary: "step" not "stage", "run" not "execute", "you" not "the user".
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"wordsPerSecond": 2.5,
|
|
3
|
+
"sceneSeconds": {
|
|
4
|
+
"title": {
|
|
5
|
+
"short": 3,
|
|
6
|
+
"standard": 4,
|
|
7
|
+
"long": 5
|
|
8
|
+
},
|
|
9
|
+
"icon-grid": {
|
|
10
|
+
"short": 6,
|
|
11
|
+
"standard": 9,
|
|
12
|
+
"long": 12
|
|
13
|
+
},
|
|
14
|
+
"media-frame": {
|
|
15
|
+
"short": 4,
|
|
16
|
+
"standard": 6,
|
|
17
|
+
"long": 8
|
|
18
|
+
},
|
|
19
|
+
"code": {
|
|
20
|
+
"short": 4,
|
|
21
|
+
"standard": 5,
|
|
22
|
+
"long": 8
|
|
23
|
+
},
|
|
24
|
+
"bullets": {
|
|
25
|
+
"short": 5,
|
|
26
|
+
"standard": 7,
|
|
27
|
+
"long": 10
|
|
28
|
+
},
|
|
29
|
+
"callout": {
|
|
30
|
+
"short": 4,
|
|
31
|
+
"standard": 6,
|
|
32
|
+
"long": 8
|
|
33
|
+
},
|
|
34
|
+
"outro": {
|
|
35
|
+
"short": 3,
|
|
36
|
+
"standard": 4,
|
|
37
|
+
"long": 5
|
|
38
|
+
},
|
|
39
|
+
"steps": {
|
|
40
|
+
"short": 6,
|
|
41
|
+
"standard": 9,
|
|
42
|
+
"long": 13
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"lengths": {
|
|
46
|
+
"short": {
|
|
47
|
+
"scenes": [3, 6],
|
|
48
|
+
"totalSec": [10, 50]
|
|
49
|
+
},
|
|
50
|
+
"standard": {
|
|
51
|
+
"scenes": [4, 7],
|
|
52
|
+
"totalSec": [18, 80]
|
|
53
|
+
},
|
|
54
|
+
"long": {
|
|
55
|
+
"scenes": [5, 8],
|
|
56
|
+
"totalSec": [30, 120]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"templateVersion": 1,
|
|
3
|
+
"id": "guide",
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"title": "Guide",
|
|
6
|
+
"summary": "Tutorials, lessons and onboarding. 16:9, steps and code, calm to friendly.",
|
|
7
|
+
"domains": ["tutorial", "tech", "education"],
|
|
8
|
+
"discover": {
|
|
9
|
+
"useCases": [
|
|
10
|
+
"Teach a procedure with numbered steps and a code or screen example.",
|
|
11
|
+
"Teach a lesson in four beats: objectives, concept, example, recap.",
|
|
12
|
+
"Walk a new user through the first steps of a tool and a checklist.",
|
|
13
|
+
"Give learners a short recap they can check off after watching."
|
|
14
|
+
],
|
|
15
|
+
"audience": ["learners", "new-hires", "customers", "developers"],
|
|
16
|
+
"goodFor": "A skill or tool taught in 3-6 ordered steps with a clear outcome.",
|
|
17
|
+
"notFor": "Persuasion (pitch), status reporting (update), data analysis (datastory).",
|
|
18
|
+
"tags": ["tutorial", "howto", "lesson", "onboarding", "steps", "education", "code", "explain"],
|
|
19
|
+
"tone": ["calm", "friendly"],
|
|
20
|
+
"aspects": ["16:9"]
|
|
21
|
+
},
|
|
22
|
+
"requires": {
|
|
23
|
+
"storyboard": 1,
|
|
24
|
+
"scenes": ["title", "steps", "code", "media-frame", "bullets", "callout", "icon-grid", "outro"]
|
|
25
|
+
},
|
|
26
|
+
"themes": [
|
|
27
|
+
{
|
|
28
|
+
"id": "calm-light",
|
|
29
|
+
"file": "@shared/calm-light.json",
|
|
30
|
+
"mode": "light",
|
|
31
|
+
"pair": "calm-dark"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "calm-dark",
|
|
35
|
+
"file": "@shared/calm-dark.json",
|
|
36
|
+
"mode": "dark",
|
|
37
|
+
"pair": "calm-light"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "tech-light",
|
|
41
|
+
"file": "@shared/tech-light.json",
|
|
42
|
+
"mode": "light",
|
|
43
|
+
"pair": "tech-dark"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "tech-dark",
|
|
47
|
+
"file": "@shared/tech-dark.json",
|
|
48
|
+
"mode": "dark",
|
|
49
|
+
"pair": "tech-light"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "playful-light",
|
|
53
|
+
"file": "@shared/playful-light.json",
|
|
54
|
+
"mode": "light",
|
|
55
|
+
"pair": "playful-dark"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "playful-dark",
|
|
59
|
+
"file": "@shared/playful-dark.json",
|
|
60
|
+
"mode": "dark",
|
|
61
|
+
"pair": "playful-light"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"styles": [
|
|
65
|
+
{
|
|
66
|
+
"id": "calm",
|
|
67
|
+
"file": "styles/calm.json"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "techdark",
|
|
71
|
+
"file": "styles/techdark.json"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "friendly",
|
|
75
|
+
"file": "styles/friendly.json"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"blueprints": [
|
|
79
|
+
{
|
|
80
|
+
"id": "tutorial",
|
|
81
|
+
"file": "blueprints/tutorial.json"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "lesson",
|
|
85
|
+
"file": "blueprints/lesson.json"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "onboarding",
|
|
89
|
+
"file": "blueprints/onboarding.json"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"pacing": "pacing.json",
|
|
93
|
+
"copy": "copy.md",
|
|
94
|
+
"license": "Apache-2.0"
|
|
95
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "feature",
|
|
3
|
+
"purpose": "Tell one feature as problem then solution in 15-40s: title, optional hook, before/after wipe, call to action.",
|
|
4
|
+
"discover": {
|
|
5
|
+
"useCases": [
|
|
6
|
+
"Explain one feature as a problem followed by its solution.",
|
|
7
|
+
"Show a before and after of a single improvement in under a minute.",
|
|
8
|
+
"Announce a small update to existing users with a clear next step."
|
|
9
|
+
],
|
|
10
|
+
"audience": ["customers", "prospects", "sponsors"],
|
|
11
|
+
"goodFor": "One feature with a clear problem, two or three solution points and a call to action.",
|
|
12
|
+
"notFor": "A whole-product launch (launch), step-by-step teaching (explain/howto).",
|
|
13
|
+
"tags": ["pitch", "product", "before-after", "marketing", "launch", "sales"],
|
|
14
|
+
"tone": ["bold", "energetic"],
|
|
15
|
+
"aspects": ["16:9", "9:16"],
|
|
16
|
+
"lengths": {
|
|
17
|
+
"min": 15,
|
|
18
|
+
"max": 40
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"slots": {
|
|
22
|
+
"feature": {
|
|
23
|
+
"type": "text",
|
|
24
|
+
"max": 50,
|
|
25
|
+
"required": true
|
|
26
|
+
},
|
|
27
|
+
"problem": {
|
|
28
|
+
"type": "text",
|
|
29
|
+
"max": 60,
|
|
30
|
+
"required": true
|
|
31
|
+
},
|
|
32
|
+
"solution": {
|
|
33
|
+
"type": "text[]",
|
|
34
|
+
"min": 2,
|
|
35
|
+
"max": 3,
|
|
36
|
+
"itemMax": 50,
|
|
37
|
+
"required": true
|
|
38
|
+
},
|
|
39
|
+
"hook": {
|
|
40
|
+
"type": "text[]",
|
|
41
|
+
"min": 1,
|
|
42
|
+
"max": 4,
|
|
43
|
+
"itemMax": 14,
|
|
44
|
+
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"cta": {
|
|
47
|
+
"type": "text",
|
|
48
|
+
"max": 40,
|
|
49
|
+
"required": true
|
|
50
|
+
},
|
|
51
|
+
"length": {
|
|
52
|
+
"type": "enum",
|
|
53
|
+
"values": ["short", "standard", "long"],
|
|
54
|
+
"default": "standard"
|
|
55
|
+
},
|
|
56
|
+
"style": {
|
|
57
|
+
"type": "enum",
|
|
58
|
+
"values": ["punchy", "polished", "teaser"],
|
|
59
|
+
"default": "punchy"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"example": {
|
|
63
|
+
"feature": "Quick Capture",
|
|
64
|
+
"problem": "Ideas get lost between apps",
|
|
65
|
+
"solution": ["One shortcut", "Any notebook", "Works offline"],
|
|
66
|
+
"hook": ["Less", "Clicking", "More", "Doing"],
|
|
67
|
+
"cta": "Try it today"
|
|
68
|
+
},
|
|
69
|
+
"meta": {
|
|
70
|
+
"title": {
|
|
71
|
+
"$slot": "feature"
|
|
72
|
+
},
|
|
73
|
+
"lang": "en"
|
|
74
|
+
},
|
|
75
|
+
"scenes": [
|
|
76
|
+
{
|
|
77
|
+
"id": "intro",
|
|
78
|
+
"type": "title",
|
|
79
|
+
"props": {
|
|
80
|
+
"kicker": "New",
|
|
81
|
+
"title": {
|
|
82
|
+
"$slot": "feature"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"when": "hook",
|
|
88
|
+
"id": "hook",
|
|
89
|
+
"type": "kinetic",
|
|
90
|
+
"props": {
|
|
91
|
+
"words": {
|
|
92
|
+
"$slot": "hook"
|
|
93
|
+
},
|
|
94
|
+
"mode": "slam"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "shift",
|
|
99
|
+
"type": "compare",
|
|
100
|
+
"props": {
|
|
101
|
+
"mode": "wipe",
|
|
102
|
+
"left": {
|
|
103
|
+
"label": "Before",
|
|
104
|
+
"points": [
|
|
105
|
+
{
|
|
106
|
+
"$slot": "problem"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"right": {
|
|
111
|
+
"label": "After",
|
|
112
|
+
"points": {
|
|
113
|
+
"$slot": "solution"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"winner": "right"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "end",
|
|
121
|
+
"type": "outro",
|
|
122
|
+
"props": {
|
|
123
|
+
"title": {
|
|
124
|
+
"$slot": "cta"
|
|
125
|
+
},
|
|
126
|
+
"lines": [
|
|
127
|
+
{
|
|
128
|
+
"$slot": "feature"
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
}
|