@vanillaskyai/video 0.8.8 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/PUBLIC-API.md +5 -8
- package/dist/{builtin-server-CUYPIDE7.js → builtin-server-HW6HGXCZ.js} +2 -2
- package/dist/{catalog-types-BIhSpOWK.d.ts → catalog-types-WTbLP6Jh.d.ts} +5 -1
- package/dist/chapter-title-YRLIQY3V.js +7 -0
- package/dist/check-runtime.js +6 -15
- package/dist/{chunk-2USVB3CY.js → chunk-3ZTEFJIR.js} +285 -178
- package/dist/chunk-4YM2M62S.js +13 -0
- package/dist/chunk-77VY4O7A.js +390 -0
- package/dist/{chunk-MMUXVA47.js → chunk-7M56IUUX.js} +9 -8
- package/dist/chunk-7NZOMTAL.js +63 -0
- package/dist/{chunk-2DOLF4QN.js → chunk-AUPC6MDK.js} +12 -14
- package/dist/{chunk-352ZZCET.js → chunk-EGVQODKU.js} +2 -2
- package/dist/chunk-EWWCQFTI.js +18 -0
- package/dist/{chunk-MXZSDGZQ.js → chunk-G7IZBBWF.js} +14 -9
- package/dist/{chunk-KT3M7KDL.js → chunk-HKUI5BTB.js} +3 -3
- package/dist/{chunk-LMG3GHLL.js → chunk-IQMYK5DX.js} +29 -3
- package/dist/chunk-LH4BPALA.js +564 -0
- package/dist/{chunk-OWBT45EN.js → chunk-MQILEEXC.js} +1 -1
- package/dist/chunk-MXEYPK7M.js +552 -0
- package/dist/{chunk-AITKH6QT.js → chunk-OR52UMSF.js} +13 -39
- package/dist/{chunk-5SLENAJW.js → chunk-PAJ44TFW.js} +1 -2
- package/dist/{chunk-L7QGGKJ2.js → chunk-PDQFQIQW.js} +1 -1
- package/dist/{chunk-WJ6FLKNC.js → chunk-R3XAOMKP.js} +14 -0
- package/dist/{chunk-2OKB27TG.js → chunk-RXTN2CW6.js} +2 -2
- package/dist/{chunk-XWWLKRNU.js → chunk-TVIU23OM.js} +38 -49
- package/dist/{chunk-224QNWRA.js → chunk-UDIODEDK.js} +1 -5
- package/dist/{chunk-3VRMKFM7.js → chunk-ZDJNFA52.js} +11 -24
- package/dist/cinema-media-YQHSIFDA.js +11 -0
- package/dist/cli.js +18 -9
- package/dist/comparison-RZMMHZR2.js +27 -0
- package/dist/compose-video-TBFTONUC.js +12 -0
- package/dist/editorial-timeline-OZX7OS6G.js +36 -0
- package/dist/{events-BQ6z264n.d.ts → events-B4YCc4vc.d.ts} +1 -1
- package/dist/focus-cards-TJ72BT7U.js +20 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.js +3 -7
- package/dist/key-figure-GYENXKH3.js +20 -0
- package/dist/{kit-tQnCPMOM.d.ts → kit-DrRpdn0p.d.ts} +2 -2
- package/dist/mobile-message-UZUPIKHD.js +49 -0
- package/dist/{preload-media-LJXWKTWG.js → preload-media-CFTZIMZL.js} +1 -1
- package/dist/quote-EW5HQA6H.js +23 -0
- package/dist/react.d.ts +21 -11
- package/dist/react.js +590 -833
- package/dist/scene-video-backdrop-PCTARAAJ.js +7 -0
- package/dist/server.d.ts +7 -8
- package/dist/server.js +91 -74
- package/dist/{system-prompt-RRXIWDDD.js → system-prompt-SYRT5DWM.js} +1 -1
- package/dist/template-catalog.d.ts +257 -16
- package/dist/template-catalog.js +1 -1
- package/dist/templates.d.ts +5 -5
- package/dist/test.d.ts +3 -3
- package/dist/test.js +18 -18
- package/dist/text-stream-LD364KBI.js +9 -0
- package/dist/{types-DWFO6qca.d.ts → types-CdBmNTGD.d.ts} +1 -1
- package/dist/{types-CEh9eUFu.d.ts → types-DdZw4GRQ.d.ts} +17 -48
- package/dist/validate-4OUD2CLX.js +10 -0
- package/docs/architecture.md +1 -1
- package/docs/concepts.md +1 -1
- package/docs/custom-templates.md +13 -28
- package/docs/customization.md +11 -59
- package/docs/getting-started.md +2 -2
- package/docs/immersive-interface.md +3 -4
- package/docs/maintainers/cinematic-migration.md +34 -0
- package/docs/media-and-audio.md +14 -14
- package/docs/motion-and-effects.md +6 -14
- package/docs/persistence.md +3 -3
- package/docs/production.md +11 -9
- package/docs/provider-integration.md +9 -16
- package/docs/reference/design-system.html +1 -1
- package/docs/reference/protocol.md +14 -4
- package/docs/testing.md +1 -1
- package/package.json +6 -3
- package/registry/items/backgrounds.json +1 -1
- package/registry/items/chapterTitle.json +80 -0
- package/registry/items/cinemaMedia.json +136 -0
- package/registry/items/comparison.json +101 -0
- package/registry/items/editorialTimeline.json +105 -0
- package/registry/items/focusCards.json +90 -0
- package/registry/items/keyFigure.json +97 -0
- package/registry/items/mobileMessage.json +153 -0
- package/registry/items/quote.json +94 -0
- package/registry/items/template-context.json +1 -1
- package/registry/items/theme.json +1 -1
- package/starters/video-chat/README.md +24 -26
- package/starters/video-chat/package.json +1 -1
- package/starters/video-chat/providers/video.ts +6 -5
- package/starters/video-chat/stock.ts +35 -151
- package/styles/fonts/OFL.txt +93 -0
- package/styles/fonts/manifest.json +66 -0
- package/styles/fonts/roboto-v51-cyrillic-ext.woff2 +0 -0
- package/styles/fonts/roboto-v51-cyrillic.woff2 +0 -0
- package/styles/fonts/roboto-v51-greek-ext.woff2 +0 -0
- package/styles/fonts/roboto-v51-greek.woff2 +0 -0
- package/styles/fonts/roboto-v51-latin-ext.woff2 +0 -0
- package/styles/fonts/roboto-v51-latin.woff2 +0 -0
- package/styles/fonts/roboto-v51-math.woff2 +0 -0
- package/styles/fonts/roboto-v51-symbols.woff2 +0 -0
- package/styles/fonts/roboto-v51-vietnamese.woff2 +0 -0
- package/styles/fonts/roboto.css +91 -0
- package/styles/video-chat.css +30 -22
- package/dist/bg-confetti-HITCGLGD.js +0 -89
- package/dist/bg-emoji-VU4UZYZN.js +0 -150
- package/dist/bg-media-L34PDQXJ.js +0 -106
- package/dist/brand-message-FUJ4STFO.js +0 -256
- package/dist/chart-bar-EGPHJATL.js +0 -310
- package/dist/chart-counter-5FFWQNZO.js +0 -306
- package/dist/chart-progress-ring-JMXQLMLC.js +0 -302
- package/dist/chunk-4UNKZEAT.js +0 -3575
- package/dist/chunk-5CDAM24P.js +0 -31
- package/dist/chunk-AOWSXU2K.js +0 -18
- package/dist/chunk-CJ7F2CE6.js +0 -104
- package/dist/chunk-FRN6WKHA.js +0 -185
- package/dist/chunk-G5JPHBX7.js +0 -336
- package/dist/chunk-L5BTTCZV.js +0 -97
- package/dist/chunk-P22HHFDK.js +0 -43
- package/dist/chunk-PP3MCPN4.js +0 -1998
- package/dist/chunk-QAAO7OAY.js +0 -19
- package/dist/chunk-S7HFLYNN.js +0 -35
- package/dist/chunk-W3VDIBGR.js +0 -217
- package/dist/chunk-XGRA2MUV.js +0 -242
- package/dist/chunk-XTOXFMLM.js +0 -105
- package/dist/chunk-YJJC4N4D.js +0 -761
- package/dist/compose-video-2NFH4DZY.js +0 -13
- package/dist/cta-logo-YR7LYUR5.js +0 -212
- package/dist/cta-media-DQJBKUO2.js +0 -221
- package/dist/incoming-call-54KQ7O5A.js +0 -323
- package/dist/infographic-before-after-ROS52GOW.js +0 -460
- package/dist/infographic-feature-list-E7MGUDAN.js +0 -272
- package/dist/infographic-problem-solution-3S6NGO5N.js +0 -343
- package/dist/infographic-stat-row-SYB7AB7H.js +0 -247
- package/dist/infographic-steps-KCE6JWE2.js +0 -406
- package/dist/prompt-input-MHX4O42G.js +0 -239
- package/dist/reaction-SLEGR3BE.js +0 -122
- package/dist/scene-video-backdrop-XFPX4O3I.js +0 -10
- package/dist/showcase-code-2HLAVKBM.js +0 -357
- package/dist/showcase-phone-Q4HEO4LH.js +0 -278
- package/dist/showcase-terminal-DL45LUFG.js +0 -312
- package/dist/showcase-web-2QZO73FZ.js +0 -396
- package/dist/social-conversation-75SD2637.js +0 -695
- package/dist/social-milestone-GEFUQSBF.js +0 -296
- package/dist/social-notification-FJ5VHVLK.js +0 -247
- package/dist/social-review-stack-KXQCKFRP.js +0 -242
- package/dist/social-testimonial-JZ7CHC7S.js +0 -287
- package/dist/social-tweet-UCDXM25F.js +0 -298
- package/dist/text-stream-54LXABJW.js +0 -10
- package/dist/validate-T7GBU2YF.js +0 -8
- package/registry/items/barChart.json +0 -245
- package/registry/items/beforeAfter.json +0 -180
- package/registry/items/bigNumber.json +0 -232
- package/registry/items/brandMessage.json +0 -164
- package/registry/items/cardList.json +0 -214
- package/registry/items/chatMessenger.json +0 -151
- package/registry/items/chatWhatsapp.json +0 -151
- package/registry/items/codeEditor.json +0 -191
- package/registry/items/confetti.json +0 -107
- package/registry/items/ctaLogo.json +0 -167
- package/registry/items/ctaMedia.json +0 -200
- package/registry/items/emojiBurst.json +0 -101
- package/registry/items/incomingCall.json +0 -177
- package/registry/items/media.json +0 -187
- package/registry/items/milestone.json +0 -212
- package/registry/items/notification.json +0 -189
- package/registry/items/phoneMockup.json +0 -261
- package/registry/items/problemSolution.json +0 -193
- package/registry/items/progressRing.json +0 -206
- package/registry/items/promptInput.json +0 -155
- package/registry/items/reaction.json +0 -176
- package/registry/items/reviewStack.json +0 -231
- package/registry/items/steps.json +0 -215
- package/registry/items/terminal.json +0 -219
- package/registry/items/testimonial.json +0 -171
- package/registry/items/tripleStats.json +0 -235
- package/registry/items/tweet.json +0 -210
- package/registry/items/webMockup.json +0 -280
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
// src/visual-system/scene-templates/schemas.ts
|
|
2
|
+
var BUILTIN_TEMPLATE_SCHEMAS = {
|
|
3
|
+
"cinemaMedia": {
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"mediaKeyword": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"format": "stock-media-keyword",
|
|
9
|
+
"minLength": 1,
|
|
10
|
+
"maxLength": 80,
|
|
11
|
+
"description": "2\u20138 word literal subject/action search intent, maximum 80 characters. Host resolves URLs.",
|
|
12
|
+
"examples": [
|
|
13
|
+
"Ocean waves breaking on a rocky shore"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"mediaUrl": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"format": "uri",
|
|
19
|
+
"description": "Host-only approved photo or video URL.",
|
|
20
|
+
"default": ""
|
|
21
|
+
},
|
|
22
|
+
"mediaType": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"enum": [
|
|
25
|
+
"photo",
|
|
26
|
+
"video"
|
|
27
|
+
],
|
|
28
|
+
"default": "video",
|
|
29
|
+
"description": "Host-resolved asset kind."
|
|
30
|
+
},
|
|
31
|
+
"mediaPoster": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"format": "uri",
|
|
34
|
+
"description": "Host-only approved poster URL for video decoding.",
|
|
35
|
+
"default": ""
|
|
36
|
+
},
|
|
37
|
+
"shotDirection": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"maxLength": 220,
|
|
40
|
+
"description": "Optional action, framing and continuity for generation. Preserve the subject; do not request rendered text."
|
|
41
|
+
},
|
|
42
|
+
"mediaSource": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": [
|
|
45
|
+
"generate",
|
|
46
|
+
"stock"
|
|
47
|
+
],
|
|
48
|
+
"description": "Generate distinctive illustrative shots; use approved stock for familiar observable subjects."
|
|
49
|
+
},
|
|
50
|
+
"fallbackText": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"maxLength": 65,
|
|
53
|
+
"description": "Optional grounded concise chapter text if this shot cannot be resolved; not visible over footage."
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"required": [],
|
|
57
|
+
"additionalProperties": false,
|
|
58
|
+
"x-vanillasky": {
|
|
59
|
+
"allowsStockMedia": true,
|
|
60
|
+
"requiredAnyOf": [
|
|
61
|
+
[
|
|
62
|
+
"mediaKeyword",
|
|
63
|
+
"mediaUrl"
|
|
64
|
+
]
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"chapterTitle": {
|
|
69
|
+
"type": "object",
|
|
70
|
+
"properties": {
|
|
71
|
+
"title": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"maxLength": 65,
|
|
74
|
+
"description": "Short title. Line breaks optional.",
|
|
75
|
+
"default": "A different perspective"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"required": [
|
|
79
|
+
"title"
|
|
80
|
+
],
|
|
81
|
+
"additionalProperties": false
|
|
82
|
+
},
|
|
83
|
+
"focusCards": {
|
|
84
|
+
"type": "object",
|
|
85
|
+
"properties": {
|
|
86
|
+
"items": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"minItems": 2,
|
|
89
|
+
"maxItems": 4,
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"minLength": 1,
|
|
93
|
+
"maxLength": 55
|
|
94
|
+
},
|
|
95
|
+
"default": [
|
|
96
|
+
"Listen closely",
|
|
97
|
+
"Notice the pattern",
|
|
98
|
+
"Make room for change"
|
|
99
|
+
],
|
|
100
|
+
"description": "2\u20134 parallel phrases, about 2\u20136 words each; no heading or numbering."
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"required": [
|
|
104
|
+
"items"
|
|
105
|
+
],
|
|
106
|
+
"additionalProperties": false
|
|
107
|
+
},
|
|
108
|
+
"editorialTimeline": {
|
|
109
|
+
"type": "object",
|
|
110
|
+
"properties": {
|
|
111
|
+
"events": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"minItems": 3,
|
|
114
|
+
"maxItems": 5,
|
|
115
|
+
"items": {
|
|
116
|
+
"type": "object",
|
|
117
|
+
"properties": {
|
|
118
|
+
"label": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"minLength": 1,
|
|
121
|
+
"maxLength": 45
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"required": [
|
|
125
|
+
"label"
|
|
126
|
+
],
|
|
127
|
+
"additionalProperties": false
|
|
128
|
+
},
|
|
129
|
+
"default": [
|
|
130
|
+
{
|
|
131
|
+
"label": "Observe"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"label": "Understand"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"label": "Act"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"description": "3\u20135 ordered events or actions, each with one short label; no dates."
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"required": [
|
|
144
|
+
"events"
|
|
145
|
+
],
|
|
146
|
+
"additionalProperties": false
|
|
147
|
+
},
|
|
148
|
+
"mobileMessage": {
|
|
149
|
+
"type": "object",
|
|
150
|
+
"properties": {
|
|
151
|
+
"mediaKeyword": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"format": "stock-media-keyword",
|
|
154
|
+
"minLength": 1,
|
|
155
|
+
"maxLength": 80,
|
|
156
|
+
"description": "2\u20138 word literal subject/action search intent, maximum 80 characters. Host resolves URLs.",
|
|
157
|
+
"examples": [
|
|
158
|
+
"Ocean waves breaking on a rocky shore"
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
"mediaUrl": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"format": "uri",
|
|
164
|
+
"description": "Host-only approved photo or video URL.",
|
|
165
|
+
"default": ""
|
|
166
|
+
},
|
|
167
|
+
"mediaType": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"enum": [
|
|
170
|
+
"photo",
|
|
171
|
+
"video"
|
|
172
|
+
],
|
|
173
|
+
"default": "video",
|
|
174
|
+
"description": "Host-resolved asset kind."
|
|
175
|
+
},
|
|
176
|
+
"mediaPoster": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"format": "uri",
|
|
179
|
+
"description": "Host-only approved poster URL for video decoding.",
|
|
180
|
+
"default": ""
|
|
181
|
+
},
|
|
182
|
+
"message": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"maxLength": 120,
|
|
185
|
+
"default": "Can we talk?",
|
|
186
|
+
"description": "Exact supplied or explicitly illustrative message, preferably 6\u201316 words."
|
|
187
|
+
},
|
|
188
|
+
"app": {
|
|
189
|
+
"type": "string",
|
|
190
|
+
"maxLength": 24,
|
|
191
|
+
"default": "Messages",
|
|
192
|
+
"description": "Optional app label; Messages is the visual default."
|
|
193
|
+
},
|
|
194
|
+
"shotDirection": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"maxLength": 220,
|
|
197
|
+
"description": "Optional action, framing and continuity for generation. Preserve the subject; do not request rendered text."
|
|
198
|
+
},
|
|
199
|
+
"mediaSource": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"enum": [
|
|
202
|
+
"generate",
|
|
203
|
+
"stock"
|
|
204
|
+
],
|
|
205
|
+
"description": "Generate distinctive illustrative shots; use approved stock for familiar observable subjects."
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"required": [
|
|
209
|
+
"message"
|
|
210
|
+
],
|
|
211
|
+
"additionalProperties": false,
|
|
212
|
+
"x-vanillasky": {
|
|
213
|
+
"allowsStockMedia": true
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
"comparison": {
|
|
217
|
+
"type": "object",
|
|
218
|
+
"properties": {
|
|
219
|
+
"leftLabel": {
|
|
220
|
+
"type": "string",
|
|
221
|
+
"maxLength": 20,
|
|
222
|
+
"description": "Optional short identifier for the first alternative."
|
|
223
|
+
},
|
|
224
|
+
"rightLabel": {
|
|
225
|
+
"type": "string",
|
|
226
|
+
"maxLength": 20,
|
|
227
|
+
"description": "Optional short identifier for the second alternative."
|
|
228
|
+
},
|
|
229
|
+
"leftText": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"minLength": 1,
|
|
232
|
+
"maxLength": 60,
|
|
233
|
+
"default": "More distractions",
|
|
234
|
+
"description": "First real alternative in one short phrase."
|
|
235
|
+
},
|
|
236
|
+
"rightText": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"minLength": 1,
|
|
239
|
+
"maxLength": 60,
|
|
240
|
+
"default": "More room to think",
|
|
241
|
+
"description": "Second real alternative, parallel to the first."
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"required": [
|
|
245
|
+
"leftText",
|
|
246
|
+
"rightText"
|
|
247
|
+
],
|
|
248
|
+
"additionalProperties": false
|
|
249
|
+
},
|
|
250
|
+
"quote": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"properties": {
|
|
253
|
+
"quote": {
|
|
254
|
+
"type": "string",
|
|
255
|
+
"minLength": 1,
|
|
256
|
+
"maxLength": 140,
|
|
257
|
+
"format": "grounded-quote",
|
|
258
|
+
"examples": [
|
|
259
|
+
"Look closely. There is always more to see."
|
|
260
|
+
],
|
|
261
|
+
"description": "Exact supplied quotation; do not paraphrase or invent."
|
|
262
|
+
},
|
|
263
|
+
"attribution": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"minLength": 1,
|
|
266
|
+
"maxLength": 60,
|
|
267
|
+
"examples": [
|
|
268
|
+
"Illustrative example"
|
|
269
|
+
],
|
|
270
|
+
"description": "Grounded attribution belonging to these exact quoted words."
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"required": [
|
|
274
|
+
"quote",
|
|
275
|
+
"attribution"
|
|
276
|
+
],
|
|
277
|
+
"additionalProperties": false
|
|
278
|
+
},
|
|
279
|
+
"keyFigure": {
|
|
280
|
+
"type": "object",
|
|
281
|
+
"properties": {
|
|
282
|
+
"value": {
|
|
283
|
+
"type": "string",
|
|
284
|
+
"minLength": 1,
|
|
285
|
+
"maxLength": 14,
|
|
286
|
+
"format": "grounded-stat",
|
|
287
|
+
"examples": [
|
|
288
|
+
"42%"
|
|
289
|
+
],
|
|
290
|
+
"description": "One supplied supported quantity, preserving its unit."
|
|
291
|
+
},
|
|
292
|
+
"label": {
|
|
293
|
+
"type": "string",
|
|
294
|
+
"minLength": 1,
|
|
295
|
+
"maxLength": 50,
|
|
296
|
+
"examples": [
|
|
297
|
+
"Illustrative example"
|
|
298
|
+
],
|
|
299
|
+
"description": "Exactly one short label identifying the quantity and its context."
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"required": [
|
|
303
|
+
"value",
|
|
304
|
+
"label"
|
|
305
|
+
],
|
|
306
|
+
"additionalProperties": false,
|
|
307
|
+
"x-vanillasky": {
|
|
308
|
+
"requiresStat": true
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
// src/visual-system/catalog/builtin-manifest.ts
|
|
314
|
+
var BUILTIN_TEMPLATE_MANIFEST = [
|
|
315
|
+
{
|
|
316
|
+
"label": "Full-bleed",
|
|
317
|
+
"description": "Immersive photo or video without a headline.",
|
|
318
|
+
"usesGlobalTextEffect": false,
|
|
319
|
+
"usesGlobalTransition": false,
|
|
320
|
+
"usesGlobalBackgroundEffect": false,
|
|
321
|
+
"textCanvas": "tight",
|
|
322
|
+
"id": "cinemaMedia",
|
|
323
|
+
"family": "Media & motion",
|
|
324
|
+
"jobs": [
|
|
325
|
+
"setup",
|
|
326
|
+
"atmosphere",
|
|
327
|
+
"payoff"
|
|
328
|
+
],
|
|
329
|
+
"register": "motion-led",
|
|
330
|
+
"useWhen": "Show a relevant place, activity or subject. The asset is resolved separately from a shot description. ",
|
|
331
|
+
"avoidWhen": "No relevant asset can be resolved or the scene needs structured explanation.",
|
|
332
|
+
"minDuration": 3,
|
|
333
|
+
"preferredDuration": 6,
|
|
334
|
+
"timing": {
|
|
335
|
+
"contentFields": [],
|
|
336
|
+
"contentUnit": "words",
|
|
337
|
+
"revealSeconds": 0,
|
|
338
|
+
"holdSeconds": 3,
|
|
339
|
+
"exitSeconds": 0
|
|
340
|
+
},
|
|
341
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.cinemaMedia
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"label": "Chapter",
|
|
345
|
+
"description": "Centered white typography fades in, holds, and fades out on black.",
|
|
346
|
+
"usesGlobalTextEffect": false,
|
|
347
|
+
"usesGlobalTransition": false,
|
|
348
|
+
"usesGlobalBackgroundEffect": false,
|
|
349
|
+
"textCanvas": "tight",
|
|
350
|
+
"id": "chapterTitle",
|
|
351
|
+
"family": "Explainers",
|
|
352
|
+
"jobs": [
|
|
353
|
+
"setup",
|
|
354
|
+
"payoff"
|
|
355
|
+
],
|
|
356
|
+
"register": "motion-led",
|
|
357
|
+
"useWhen": "An opening, new chapter or deliberate short takeaway needs its own visual beat. ",
|
|
358
|
+
"avoidWhen": "A headline would merely repeat subtitles over an ordinary footage scene.",
|
|
359
|
+
"minDuration": 3,
|
|
360
|
+
"preferredDuration": 4,
|
|
361
|
+
"timing": {
|
|
362
|
+
"contentFields": [
|
|
363
|
+
"title"
|
|
364
|
+
],
|
|
365
|
+
"contentUnit": "words",
|
|
366
|
+
"revealSeconds": 0.8,
|
|
367
|
+
"holdSeconds": 1.5,
|
|
368
|
+
"exitSeconds": 0.8
|
|
369
|
+
},
|
|
370
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.chapterTitle
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"label": "Focus cards",
|
|
374
|
+
"description": "Two to four short phrases fade in sequentially on black; no boxes or heading.",
|
|
375
|
+
"usesGlobalTextEffect": false,
|
|
376
|
+
"usesGlobalTransition": false,
|
|
377
|
+
"usesGlobalBackgroundEffect": false,
|
|
378
|
+
"textCanvas": "tight",
|
|
379
|
+
"id": "focusCards",
|
|
380
|
+
"family": "Explainers",
|
|
381
|
+
"jobs": [
|
|
382
|
+
"setup",
|
|
383
|
+
"proof"
|
|
384
|
+
],
|
|
385
|
+
"register": "card-led",
|
|
386
|
+
"useWhen": "Two to four short parallel points support an explanation. ",
|
|
387
|
+
"avoidWhen": "The points require an order, long paragraphs, numerical data or additional images to make sense.",
|
|
388
|
+
"minDuration": 4,
|
|
389
|
+
"preferredDuration": 5,
|
|
390
|
+
"timing": {
|
|
391
|
+
"contentFields": [
|
|
392
|
+
"items"
|
|
393
|
+
],
|
|
394
|
+
"contentUnit": "items",
|
|
395
|
+
"revealSeconds": 2.4,
|
|
396
|
+
"holdSeconds": 1.8,
|
|
397
|
+
"exitSeconds": 0
|
|
398
|
+
},
|
|
399
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.focusCards
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"label": "Timeline",
|
|
403
|
+
"description": "Three to five events on a fine continuous line on black; without dates.",
|
|
404
|
+
"usesGlobalTextEffect": false,
|
|
405
|
+
"usesGlobalTransition": false,
|
|
406
|
+
"usesGlobalBackgroundEffect": false,
|
|
407
|
+
"textCanvas": "tight",
|
|
408
|
+
"id": "editorialTimeline",
|
|
409
|
+
"family": "Explainers",
|
|
410
|
+
"jobs": [
|
|
411
|
+
"setup",
|
|
412
|
+
"proof"
|
|
413
|
+
],
|
|
414
|
+
"register": "card-led",
|
|
415
|
+
"useWhen": "Events unfold in an order, or actions form a process. No dates or heading. ",
|
|
416
|
+
"avoidWhen": "The points are unordered or the story needs branching relationships.",
|
|
417
|
+
"minDuration": 5,
|
|
418
|
+
"preferredDuration": 6,
|
|
419
|
+
"timing": {
|
|
420
|
+
"contentFields": [
|
|
421
|
+
"events"
|
|
422
|
+
],
|
|
423
|
+
"contentUnit": "items",
|
|
424
|
+
"revealSeconds": 3.2,
|
|
425
|
+
"holdSeconds": 1.8,
|
|
426
|
+
"exitSeconds": 0
|
|
427
|
+
},
|
|
428
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.editorialTimeline
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"label": "Reach out",
|
|
432
|
+
"description": "A frosted glass message over resolved media, without sender or timestamp.",
|
|
433
|
+
"usesGlobalTextEffect": false,
|
|
434
|
+
"usesGlobalTransition": false,
|
|
435
|
+
"usesGlobalBackgroundEffect": false,
|
|
436
|
+
"textCanvas": "tight",
|
|
437
|
+
"id": "mobileMessage",
|
|
438
|
+
"family": "Social & messaging",
|
|
439
|
+
"jobs": [
|
|
440
|
+
"setup"
|
|
441
|
+
],
|
|
442
|
+
"register": "card-led",
|
|
443
|
+
"useWhen": "A person or organization reaches out with a short message, alert or invitation. Message must be supplied or explicitly illustrative.",
|
|
444
|
+
"avoidWhen": "The scene is a generic fact, a long exchange, or a message that would fabricate evidence.",
|
|
445
|
+
"minDuration": 4,
|
|
446
|
+
"preferredDuration": 6,
|
|
447
|
+
"timing": {
|
|
448
|
+
"contentFields": [
|
|
449
|
+
"message",
|
|
450
|
+
"app"
|
|
451
|
+
],
|
|
452
|
+
"contentUnit": "words",
|
|
453
|
+
"revealSeconds": 1,
|
|
454
|
+
"holdSeconds": 2.2,
|
|
455
|
+
"exitSeconds": 0
|
|
456
|
+
},
|
|
457
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.mobileMessage
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"label": "Comparison",
|
|
461
|
+
"description": "Two short statements with equal weight on black, side by side or stacked in portrait.",
|
|
462
|
+
"usesGlobalTextEffect": false,
|
|
463
|
+
"usesGlobalTransition": false,
|
|
464
|
+
"usesGlobalBackgroundEffect": false,
|
|
465
|
+
"textCanvas": "tight",
|
|
466
|
+
"id": "comparison",
|
|
467
|
+
"family": "Explainers",
|
|
468
|
+
"jobs": [
|
|
469
|
+
"proof"
|
|
470
|
+
],
|
|
471
|
+
"register": "motion-led",
|
|
472
|
+
"useWhen": "Explain a before/after change or two alternatives with short parallel statements. ",
|
|
473
|
+
"avoidWhen": "There are more than two alternatives or a numerical chart is needed.",
|
|
474
|
+
"minDuration": 4,
|
|
475
|
+
"preferredDuration": 6,
|
|
476
|
+
"timing": {
|
|
477
|
+
"contentFields": [
|
|
478
|
+
"leftText",
|
|
479
|
+
"rightText",
|
|
480
|
+
"leftLabel",
|
|
481
|
+
"rightLabel"
|
|
482
|
+
],
|
|
483
|
+
"contentUnit": "words",
|
|
484
|
+
"revealSeconds": 1.2,
|
|
485
|
+
"holdSeconds": 2.5,
|
|
486
|
+
"exitSeconds": 0
|
|
487
|
+
},
|
|
488
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.comparison
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"label": "Quote",
|
|
492
|
+
"description": "A short exact quotation with a legible attribution on black.",
|
|
493
|
+
"usesGlobalTextEffect": false,
|
|
494
|
+
"usesGlobalTransition": false,
|
|
495
|
+
"usesGlobalBackgroundEffect": false,
|
|
496
|
+
"textCanvas": "tight",
|
|
497
|
+
"id": "quote",
|
|
498
|
+
"family": "Explainers",
|
|
499
|
+
"jobs": [
|
|
500
|
+
"proof"
|
|
501
|
+
],
|
|
502
|
+
"register": "motion-led",
|
|
503
|
+
"useWhen": "A supplied quotation deserves its own moment. Use exact source words and attribution only.",
|
|
504
|
+
"avoidWhen": "No exact quotation or reliable attribution is supplied; never invent testimony.",
|
|
505
|
+
"minDuration": 5,
|
|
506
|
+
"preferredDuration": 7,
|
|
507
|
+
"timing": {
|
|
508
|
+
"contentFields": [
|
|
509
|
+
"quote",
|
|
510
|
+
"attribution"
|
|
511
|
+
],
|
|
512
|
+
"contentUnit": "words",
|
|
513
|
+
"revealSeconds": 1.2,
|
|
514
|
+
"holdSeconds": 3,
|
|
515
|
+
"exitSeconds": 0
|
|
516
|
+
},
|
|
517
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.quote
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"label": "Key figure",
|
|
521
|
+
"description": "One supplied figure with one short label on black.",
|
|
522
|
+
"usesGlobalTextEffect": false,
|
|
523
|
+
"usesGlobalTransition": false,
|
|
524
|
+
"usesGlobalBackgroundEffect": false,
|
|
525
|
+
"textCanvas": "tight",
|
|
526
|
+
"id": "keyFigure",
|
|
527
|
+
"family": "Explainers",
|
|
528
|
+
"jobs": [
|
|
529
|
+
"proof"
|
|
530
|
+
],
|
|
531
|
+
"register": "motion-led",
|
|
532
|
+
"useWhen": "One verified quantity or supplied target anchors the explanation. Value, unit and context must match supplied evidence.",
|
|
533
|
+
"avoidWhen": "No reliable figure is supplied or multiple values require a chart.",
|
|
534
|
+
"minDuration": 4,
|
|
535
|
+
"preferredDuration": 5,
|
|
536
|
+
"timing": {
|
|
537
|
+
"contentFields": [
|
|
538
|
+
"value",
|
|
539
|
+
"label"
|
|
540
|
+
],
|
|
541
|
+
"contentUnit": "words",
|
|
542
|
+
"revealSeconds": 0.8,
|
|
543
|
+
"holdSeconds": 2.5,
|
|
544
|
+
"exitSeconds": 0
|
|
545
|
+
},
|
|
546
|
+
schema: BUILTIN_TEMPLATE_SCHEMAS.keyFigure
|
|
547
|
+
}
|
|
548
|
+
];
|
|
549
|
+
|
|
550
|
+
export {
|
|
551
|
+
BUILTIN_TEMPLATE_MANIFEST
|
|
552
|
+
};
|