motionrender 0.0.0-stage → 0.2.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 (203) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +61 -2
  3. package/blocks/badge.json +68 -0
  4. package/blocks/big-stat.json +240 -0
  5. package/blocks/cta-end.json +283 -0
  6. package/blocks/feature-list.json +286 -0
  7. package/blocks/footage.json +43 -0
  8. package/blocks/fx-background-swap.json +170 -0
  9. package/blocks/fx-before-after.json +212 -0
  10. package/blocks/fx-captions.json +34 -0
  11. package/blocks/fx-chat.json +368 -0
  12. package/blocks/fx-checklist.json +609 -0
  13. package/blocks/fx-clone-wall.json +181 -0
  14. package/blocks/fx-color-pop.json +92 -0
  15. package/blocks/fx-command-bridge.json +358 -0
  16. package/blocks/fx-counter-hero.json +206 -0
  17. package/blocks/fx-cta-card.json +337 -0
  18. package/blocks/fx-day-to-night.json +174 -0
  19. package/blocks/fx-duo-title.json +245 -0
  20. package/blocks/fx-duotone.json +95 -0
  21. package/blocks/fx-extruded-title.json +309 -0
  22. package/blocks/fx-gallery.json +239 -0
  23. package/blocks/fx-glass-cards.json +921 -0
  24. package/blocks/fx-glitch-title.json +373 -0
  25. package/blocks/fx-grade-look.json +91 -0
  26. package/blocks/fx-highlighter.json +53 -0
  27. package/blocks/fx-icon-orbit.json +2694 -0
  28. package/blocks/fx-lens-flare.json +325 -0
  29. package/blocks/fx-letterbox.json +105 -0
  30. package/blocks/fx-light-leak.json +140 -0
  31. package/blocks/fx-map-journey.json +443 -0
  32. package/blocks/fx-neon-outline.json +743 -0
  33. package/blocks/fx-notifications.json +456 -0
  34. package/blocks/fx-progress-ring.json +143 -0
  35. package/blocks/fx-pull-out.json +68 -0
  36. package/blocks/fx-punch-in.json +81 -0
  37. package/blocks/fx-rgb-flash.json +166 -0
  38. package/blocks/fx-shake-hit.json +120 -0
  39. package/blocks/fx-split-reveal.json +110 -0
  40. package/blocks/fx-spotlight.json +1383 -0
  41. package/blocks/fx-stats-split.json +500 -0
  42. package/blocks/fx-step-tracker.json +528 -0
  43. package/blocks/fx-sticker-freeze.json +584 -0
  44. package/blocks/fx-strike-rewrite.json +79 -0
  45. package/blocks/fx-ticker.json +179 -0
  46. package/blocks/fx-timeline.json +1287 -0
  47. package/blocks/fx-tracked-label.json +167 -0
  48. package/blocks/fx-typewriter-quote.json +164 -0
  49. package/blocks/handle.json +43 -0
  50. package/blocks/icon-row.json +404 -0
  51. package/blocks/image-caption.json +248 -0
  52. package/blocks/lower-third.json +106 -0
  53. package/blocks/phone-mockup.json +459 -0
  54. package/blocks/progress-bar.json +51 -0
  55. package/blocks/quote.json +347 -0
  56. package/blocks/section-title.json +240 -0
  57. package/blocks/split-screen.json +283 -0
  58. package/blocks/stat-grid.json +315 -0
  59. package/blocks/steps.json +266 -0
  60. package/blocks/title-hero.json +287 -0
  61. package/dist/builder.d.ts +1 -0
  62. package/dist/builder.js +169 -0
  63. package/dist/cli.js +9301 -0
  64. package/dist/fonts/LICENSE-Inter.txt +93 -0
  65. package/dist/fonts/inter-cyrillic-ext-opsz-italic.woff2 +0 -0
  66. package/dist/fonts/inter-cyrillic-ext-opsz-normal.woff2 +0 -0
  67. package/dist/fonts/inter-cyrillic-opsz-italic.woff2 +0 -0
  68. package/dist/fonts/inter-cyrillic-opsz-normal.woff2 +0 -0
  69. package/dist/fonts/inter-greek-ext-opsz-italic.woff2 +0 -0
  70. package/dist/fonts/inter-greek-ext-opsz-normal.woff2 +0 -0
  71. package/dist/fonts/inter-greek-opsz-italic.woff2 +0 -0
  72. package/dist/fonts/inter-greek-opsz-normal.woff2 +0 -0
  73. package/dist/fonts/inter-latin-ext-opsz-italic.woff2 +0 -0
  74. package/dist/fonts/inter-latin-ext-opsz-normal.woff2 +0 -0
  75. package/dist/fonts/inter-latin-opsz-italic.woff2 +0 -0
  76. package/dist/fonts/inter-latin-opsz-normal.woff2 +0 -0
  77. package/dist/fonts/inter-vietnamese-opsz-italic.woff2 +0 -0
  78. package/dist/fonts/inter-vietnamese-opsz-normal.woff2 +0 -0
  79. package/dist/index.d.ts +2 -0
  80. package/dist/index.js +2330 -0
  81. package/dist/player.d.ts +1 -0
  82. package/dist/player.js +80 -0
  83. package/dist/react.d.ts +1 -0
  84. package/dist/react.js +140 -0
  85. package/dist/runtime/canvas-runtime.js +261 -0
  86. package/dist/runtime/lottie_light_canvas.min.js +1 -0
  87. package/dist/runtime/text-layout.js +50 -0
  88. package/dist/sfx/click.wav +0 -0
  89. package/dist/sfx/ding.wav +0 -0
  90. package/dist/sfx/pop.wav +0 -0
  91. package/dist/sfx/riser.wav +0 -0
  92. package/dist/sfx/thump.wav +0 -0
  93. package/dist/sfx/tick.wav +0 -0
  94. package/dist/sfx/whoosh.wav +0 -0
  95. package/dist/types/packages/ai/src/assets.d.ts +26 -0
  96. package/dist/types/packages/ai/src/batch.d.ts +19 -0
  97. package/dist/types/packages/ai/src/compose.d.ts +34 -0
  98. package/dist/types/packages/ai/src/history.d.ts +37 -0
  99. package/dist/types/packages/ai/src/image.d.ts +19 -0
  100. package/dist/types/packages/ai/src/index.d.ts +13 -0
  101. package/dist/types/packages/ai/src/json.d.ts +2 -0
  102. package/dist/types/packages/ai/src/narrate.d.ts +63 -0
  103. package/dist/types/packages/ai/src/patch.d.ts +15 -0
  104. package/dist/types/packages/ai/src/project.d.ts +27 -0
  105. package/dist/types/packages/ai/src/prompt.d.ts +30 -0
  106. package/dist/types/packages/ai/src/providers.d.ts +109 -0
  107. package/dist/types/packages/ai/src/template.d.ts +80 -0
  108. package/dist/types/packages/ai/src/voiceover.d.ts +49 -0
  109. package/dist/types/packages/animation/src/index.d.ts +27 -0
  110. package/dist/types/packages/assets/src/cache.d.ts +26 -0
  111. package/dist/types/packages/assets/src/index.d.ts +8 -0
  112. package/dist/types/packages/builder/src/index.d.ts +270 -0
  113. package/dist/types/packages/cli/src/ai-studio-page.d.ts +1 -0
  114. package/dist/types/packages/cli/src/ai-studio.d.ts +35 -0
  115. package/dist/types/packages/cli/src/ai.d.ts +3 -0
  116. package/dist/types/packages/cli/src/args.d.ts +9 -0
  117. package/dist/types/packages/cli/src/blocks-cli.d.ts +3 -0
  118. package/dist/types/packages/cli/src/blocks.d.ts +50 -0
  119. package/dist/types/packages/cli/src/build.d.ts +1 -0
  120. package/dist/types/packages/cli/src/dev-page.d.ts +1 -0
  121. package/dist/types/packages/cli/src/dev.d.ts +13 -0
  122. package/dist/types/packages/cli/src/index.d.ts +2 -0
  123. package/dist/types/packages/cli/src/init.d.ts +10 -0
  124. package/dist/types/packages/cli/src/serve.d.ts +2 -0
  125. package/dist/types/packages/cli/src/studio.d.ts +36 -0
  126. package/dist/types/packages/cli/src/templates.d.ts +63 -0
  127. package/dist/types/packages/cli/src/thumbnail.d.ts +20 -0
  128. package/dist/types/packages/cli/src/track.d.ts +35 -0
  129. package/dist/types/packages/cli/src/worker.d.ts +13 -0
  130. package/dist/types/packages/contracts/src/index.d.ts +377 -0
  131. package/dist/types/packages/core/src/audio.d.ts +14 -0
  132. package/dist/types/packages/core/src/distributed.d.ts +50 -0
  133. package/dist/types/packages/core/src/index.d.ts +63 -0
  134. package/dist/types/packages/core/src/media.d.ts +11 -0
  135. package/dist/types/packages/core/src/review.d.ts +29 -0
  136. package/dist/types/packages/ffmpeg/src/index.d.ts +68 -0
  137. package/dist/types/packages/graphics/src/fonts.d.ts +3 -0
  138. package/dist/types/packages/graphics/src/index.d.ts +121 -0
  139. package/dist/types/packages/graphics/src/runtime.d.ts +10 -0
  140. package/dist/types/packages/jobs/src/env.d.ts +78 -0
  141. package/dist/types/packages/jobs/src/handlers.d.ts +17 -0
  142. package/dist/types/packages/jobs/src/index.d.ts +5 -0
  143. package/dist/types/packages/jobs/src/input.d.ts +18 -0
  144. package/dist/types/packages/jobs/src/queue.d.ts +70 -0
  145. package/dist/types/packages/jobs/src/redis.d.ts +42 -0
  146. package/dist/types/packages/player/src/bundle.d.ts +4 -0
  147. package/dist/types/packages/player/src/canvas-runtime.d.ts +11 -0
  148. package/dist/types/packages/player/src/index.d.ts +29 -0
  149. package/dist/types/packages/react/src/index.d.ts +76 -0
  150. package/dist/types/packages/renderer/src/index.d.ts +35 -0
  151. package/dist/types/packages/renderer/src/pool.d.ts +7 -0
  152. package/dist/types/packages/renderer/src/video.d.ts +9 -0
  153. package/dist/types/packages/schema/src/captions.d.ts +24 -0
  154. package/dist/types/packages/schema/src/expression.d.ts +1 -0
  155. package/dist/types/packages/schema/src/index.d.ts +1213 -0
  156. package/dist/types/packages/schema/src/variables.d.ts +115 -0
  157. package/dist/types/packages/storage/src/index.d.ts +78 -0
  158. package/dist/types/packages/timeline/src/index.d.ts +104 -0
  159. package/package.json +78 -4
  160. package/skills/ove/SKILL.md +356 -0
  161. package/skills/ove-ai-compose/SKILL.md +36 -0
  162. package/skills/ove-batch-videos/SKILL.md +23 -0
  163. package/skills/ove-code-video/SKILL.md +68 -0
  164. package/skills/ove-effects/SKILL.md +65 -0
  165. package/skills/ove-make-reel/SKILL.md +30 -0
  166. package/skills/ove-voiceover-captions/SKILL.md +31 -0
  167. package/studio/assets/index-CzOvWv9w.css +1 -0
  168. package/studio/assets/index-J_fvKgng.js +11 -0
  169. package/studio/index.html +16 -0
  170. package/templates/case-study/composition.json +358 -0
  171. package/templates/case-study/template.json +8 -0
  172. package/templates/event-invite/composition.json +245 -0
  173. package/templates/event-invite/template.json +8 -0
  174. package/templates/explainer-square/composition.json +1335 -0
  175. package/templates/explainer-square/template.json +13 -0
  176. package/templates/keynote-wide/composition.json +1458 -0
  177. package/templates/keynote-wide/template.json +13 -0
  178. package/templates/launch-wide/composition.json +1306 -0
  179. package/templates/launch-wide/template.json +13 -0
  180. package/templates/product-card/composition.json +196 -0
  181. package/templates/product-card/data.example.json +5 -0
  182. package/templates/product-card/template.json +8 -0
  183. package/templates/product-wide/composition.json +1609 -0
  184. package/templates/product-wide/template.json +14 -0
  185. package/templates/quote-card/composition.json +123 -0
  186. package/templates/quote-card/template.json +8 -0
  187. package/templates/sale-promo/composition.json +290 -0
  188. package/templates/sale-promo/template.json +8 -0
  189. package/templates/showcase-tall/composition.json +1646 -0
  190. package/templates/showcase-tall/template.json +14 -0
  191. package/templates/slideshow/composition.json +167 -0
  192. package/templates/slideshow/template.json +8 -0
  193. package/templates/social-reel/composition.json +252 -0
  194. package/templates/social-reel/template.json +8 -0
  195. package/templates/starter/assets/logo.svg +4 -0
  196. package/templates/starter/composition.json +84 -0
  197. package/templates/story-tall/composition.json +1379 -0
  198. package/templates/story-tall/template.json +13 -0
  199. package/themes/espresso.json +15 -0
  200. package/themes/midnight.json +15 -0
  201. package/themes/neon.json +15 -0
  202. package/themes/paper.json +15 -0
  203. package/themes/signal.json +15 -0
@@ -0,0 +1,1383 @@
1
+ {
2
+ "id": "fx-spotlight",
3
+ "name": "Cinematic spotlight",
4
+ "category": "effect",
5
+ "kind": "scene",
6
+ "durationFrames": 180,
7
+ "transition": {
8
+ "type": "fade",
9
+ "durationFrames": 12
10
+ },
11
+ "description": "Your footage darkened to a near-black set with an electric-blue diagonal light beam, soft haze, drifting particles and a slow push-in, with glowing title type. The title is in front of the subject.",
12
+ "params": {
13
+ "footage": {
14
+ "type": "string",
15
+ "default": "",
16
+ "description": "The video to put the effect on (asset id or relative path); the theme background shows without one"
17
+ },
18
+ "title": {
19
+ "type": "string",
20
+ "default": "OPEN VIDEO ENGINE"
21
+ },
22
+ "subtitle": {
23
+ "type": "string",
24
+ "default": "CREATE WITHOUT LIMITS"
25
+ }
26
+ },
27
+ "layers": [
28
+ {
29
+ "id": "bg",
30
+ "type": "rect",
31
+ "x": 0,
32
+ "y": 0,
33
+ "width": "{{canvas.width}}",
34
+ "height": "{{canvas.height}}",
35
+ "fill": "{{bg}}"
36
+ },
37
+ {
38
+ "if": "{{footage}}",
39
+ "id": "footage",
40
+ "type": "video",
41
+ "src": "{{footage}}",
42
+ "objectFit": "cover",
43
+ "x": 0,
44
+ "y": 0,
45
+ "width": "{{canvas.width}}",
46
+ "height": "{{canvas.height}}"
47
+ },
48
+ {
49
+ "id": "dim",
50
+ "type": "rect",
51
+ "x": 0,
52
+ "y": 0,
53
+ "width": "{{canvas.width}}",
54
+ "height": "{{canvas.height}}",
55
+ "fill": "#04060f",
56
+ "opacity": 0.62
57
+ },
58
+ {
59
+ "id": "haze-1",
60
+ "type": "circle",
61
+ "x": "{{round(canvas.width * 0.2)}}",
62
+ "y": "{{round(canvas.height * 0.3)}}",
63
+ "width": "{{round(min(canvas.width, canvas.height) * 1.2)}}",
64
+ "fill": "{{accent}}",
65
+ "opacity": 0.2,
66
+ "blur": 150,
67
+ "animations": [
68
+ {
69
+ "property": "x",
70
+ "keyframes": [
71
+ {
72
+ "frame": 0,
73
+ "value": "{{round(canvas.width * 0.2)}}"
74
+ },
75
+ {
76
+ "frame": 180,
77
+ "value": "{{round(canvas.width * 0.45)}}",
78
+ "easing": "drift"
79
+ }
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "id": "haze-2",
86
+ "type": "circle",
87
+ "x": "{{round(canvas.width * 0.85)}}",
88
+ "y": "{{round(canvas.height * 0.7)}}",
89
+ "width": "{{round(min(canvas.width, canvas.height) * 1)}}",
90
+ "fill": "{{accent2}}",
91
+ "opacity": 0.12,
92
+ "blur": 150,
93
+ "animations": [
94
+ {
95
+ "property": "x",
96
+ "keyframes": [
97
+ {
98
+ "frame": 0,
99
+ "value": "{{round(canvas.width * 0.85)}}"
100
+ },
101
+ {
102
+ "frame": 180,
103
+ "value": "{{round(canvas.width * 0.55)}}",
104
+ "easing": "drift"
105
+ }
106
+ ]
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "id": "beam",
112
+ "type": "rect",
113
+ "x": "{{round(canvas.width * 0.45)}}",
114
+ "y": "{{-round(canvas.height * 0.2)}}",
115
+ "width": "{{round(min(canvas.width, canvas.height) * 0.26)}}",
116
+ "height": "{{round(canvas.height * 1.5)}}",
117
+ "rotation": 24,
118
+ "originX": "center",
119
+ "originY": 0,
120
+ "fill": {
121
+ "type": "linear",
122
+ "from": [
123
+ 0,
124
+ 0
125
+ ],
126
+ "to": [
127
+ 0,
128
+ "{{round(canvas.height * 1.5)}}"
129
+ ],
130
+ "stops": [
131
+ {
132
+ "offset": 0,
133
+ "color": "rgba(120,160,255,0.55)"
134
+ },
135
+ {
136
+ "offset": 1,
137
+ "color": "rgba(120,160,255,0)"
138
+ }
139
+ ]
140
+ },
141
+ "blendMode": "screen",
142
+ "blur": 24,
143
+ "animations": [
144
+ {
145
+ "property": "opacity",
146
+ "keyframes": [
147
+ {
148
+ "frame": 0,
149
+ "value": 0
150
+ },
151
+ {
152
+ "frame": 30,
153
+ "value": 0.85
154
+ }
155
+ ]
156
+ },
157
+ {
158
+ "property": "x",
159
+ "keyframes": [
160
+ {
161
+ "frame": 0,
162
+ "value": "{{round(canvas.width * 0.35)}}"
163
+ },
164
+ {
165
+ "frame": 180,
166
+ "value": "{{round(canvas.width * 0.6)}}",
167
+ "easing": "drift"
168
+ }
169
+ ]
170
+ }
171
+ ]
172
+ },
173
+ {
174
+ "id": "dust-0",
175
+ "type": "circle",
176
+ "x": "{{round(canvas.width * 0.650)}}",
177
+ "y": "{{round(canvas.height * 0.904)}}",
178
+ "width": 4.785545267489712,
179
+ "fill": "#cfe0ff",
180
+ "opacity": 0.35,
181
+ "blendMode": "screen",
182
+ "animations": [
183
+ {
184
+ "property": "y",
185
+ "keyframes": [
186
+ {
187
+ "frame": 0,
188
+ "value": "{{round(canvas.height * 0.904)}}"
189
+ },
190
+ {
191
+ "frame": 180,
192
+ "value": "{{round(canvas.height * 0.904) - 97}}"
193
+ }
194
+ ]
195
+ },
196
+ {
197
+ "property": "opacity",
198
+ "keyframes": [
199
+ {
200
+ "frame": 0,
201
+ "value": 0
202
+ },
203
+ {
204
+ "frame": 40,
205
+ "value": 0.5
206
+ },
207
+ {
208
+ "frame": 180,
209
+ "value": 0.1
210
+ }
211
+ ]
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "id": "dust-1",
217
+ "type": "circle",
218
+ "x": "{{round(canvas.width * 0.228)}}",
219
+ "y": "{{round(canvas.height * 0.759)}}",
220
+ "width": 4.168981481481481,
221
+ "fill": "#cfe0ff",
222
+ "opacity": 0.35,
223
+ "blendMode": "screen",
224
+ "animations": [
225
+ {
226
+ "property": "y",
227
+ "keyframes": [
228
+ {
229
+ "frame": 0,
230
+ "value": "{{round(canvas.height * 0.759)}}"
231
+ },
232
+ {
233
+ "frame": 180,
234
+ "value": "{{round(canvas.height * 0.759) - 132}}"
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "property": "opacity",
240
+ "keyframes": [
241
+ {
242
+ "frame": 0,
243
+ "value": 0
244
+ },
245
+ {
246
+ "frame": 41,
247
+ "value": 0.5
248
+ },
249
+ {
250
+ "frame": 180,
251
+ "value": 0.1
252
+ }
253
+ ]
254
+ }
255
+ ]
256
+ },
257
+ {
258
+ "id": "dust-2",
259
+ "type": "circle",
260
+ "x": "{{round(canvas.width * 0.802)}}",
261
+ "y": "{{round(canvas.height * 0.339)}}",
262
+ "width": 6.712911522633744,
263
+ "fill": "#cfe0ff",
264
+ "opacity": 0.35,
265
+ "blendMode": "screen",
266
+ "animations": [
267
+ {
268
+ "property": "y",
269
+ "keyframes": [
270
+ {
271
+ "frame": 0,
272
+ "value": "{{round(canvas.height * 0.339)}}"
273
+ },
274
+ {
275
+ "frame": 180,
276
+ "value": "{{round(canvas.height * 0.339) - 215}}"
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "property": "opacity",
282
+ "keyframes": [
283
+ {
284
+ "frame": 0,
285
+ "value": 0
286
+ },
287
+ {
288
+ "frame": 42,
289
+ "value": 0.5
290
+ },
291
+ {
292
+ "frame": 180,
293
+ "value": 0.1
294
+ }
295
+ ]
296
+ }
297
+ ]
298
+ },
299
+ {
300
+ "id": "dust-3",
301
+ "type": "circle",
302
+ "x": "{{round(canvas.width * 0.953)}}",
303
+ "y": "{{round(canvas.height * 0.519)}}",
304
+ "width": 4.7877057613168725,
305
+ "fill": "#cfe0ff",
306
+ "opacity": 0.35,
307
+ "blendMode": "screen",
308
+ "animations": [
309
+ {
310
+ "property": "y",
311
+ "keyframes": [
312
+ {
313
+ "frame": 0,
314
+ "value": "{{round(canvas.height * 0.519)}}"
315
+ },
316
+ {
317
+ "frame": 180,
318
+ "value": "{{round(canvas.height * 0.519) - 153}}"
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "property": "opacity",
324
+ "keyframes": [
325
+ {
326
+ "frame": 0,
327
+ "value": 0
328
+ },
329
+ {
330
+ "frame": 43,
331
+ "value": 0.5
332
+ },
333
+ {
334
+ "frame": 180,
335
+ "value": 0.1
336
+ }
337
+ ]
338
+ }
339
+ ]
340
+ },
341
+ {
342
+ "id": "dust-4",
343
+ "type": "circle",
344
+ "x": "{{round(canvas.width * 0.445)}}",
345
+ "y": "{{round(canvas.height * 0.584)}}",
346
+ "width": 4.541512345679012,
347
+ "fill": "#cfe0ff",
348
+ "opacity": 0.35,
349
+ "blendMode": "screen",
350
+ "animations": [
351
+ {
352
+ "property": "y",
353
+ "keyframes": [
354
+ {
355
+ "frame": 0,
356
+ "value": "{{round(canvas.height * 0.584)}}"
357
+ },
358
+ {
359
+ "frame": 180,
360
+ "value": "{{round(canvas.height * 0.584) - 210}}"
361
+ }
362
+ ]
363
+ },
364
+ {
365
+ "property": "opacity",
366
+ "keyframes": [
367
+ {
368
+ "frame": 0,
369
+ "value": 0
370
+ },
371
+ {
372
+ "frame": 44,
373
+ "value": 0.5
374
+ },
375
+ {
376
+ "frame": 180,
377
+ "value": 0.1
378
+ }
379
+ ]
380
+ }
381
+ ]
382
+ },
383
+ {
384
+ "id": "dust-5",
385
+ "type": "circle",
386
+ "x": "{{round(canvas.width * 0.118)}}",
387
+ "y": "{{round(canvas.height * 0.781)}}",
388
+ "width": 3.233590534979424,
389
+ "fill": "#cfe0ff",
390
+ "opacity": 0.35,
391
+ "blendMode": "screen",
392
+ "animations": [
393
+ {
394
+ "property": "y",
395
+ "keyframes": [
396
+ {
397
+ "frame": 0,
398
+ "value": "{{round(canvas.height * 0.781)}}"
399
+ },
400
+ {
401
+ "frame": 180,
402
+ "value": "{{round(canvas.height * 0.781) - 130}}"
403
+ }
404
+ ]
405
+ },
406
+ {
407
+ "property": "opacity",
408
+ "keyframes": [
409
+ {
410
+ "frame": 0,
411
+ "value": 0
412
+ },
413
+ {
414
+ "frame": 45,
415
+ "value": 0.5
416
+ },
417
+ {
418
+ "frame": 180,
419
+ "value": 0.1
420
+ }
421
+ ]
422
+ }
423
+ ]
424
+ },
425
+ {
426
+ "id": "dust-6",
427
+ "type": "circle",
428
+ "x": "{{round(canvas.width * 0.441)}}",
429
+ "y": "{{round(canvas.height * 0.541)}}",
430
+ "width": 6.567644032921811,
431
+ "fill": "#cfe0ff",
432
+ "opacity": 0.35,
433
+ "blendMode": "screen",
434
+ "animations": [
435
+ {
436
+ "property": "y",
437
+ "keyframes": [
438
+ {
439
+ "frame": 0,
440
+ "value": "{{round(canvas.height * 0.541)}}"
441
+ },
442
+ {
443
+ "frame": 180,
444
+ "value": "{{round(canvas.height * 0.541) - 185}}"
445
+ }
446
+ ]
447
+ },
448
+ {
449
+ "property": "opacity",
450
+ "keyframes": [
451
+ {
452
+ "frame": 0,
453
+ "value": 0
454
+ },
455
+ {
456
+ "frame": 46,
457
+ "value": 0.5
458
+ },
459
+ {
460
+ "frame": 180,
461
+ "value": 0.1
462
+ }
463
+ ]
464
+ }
465
+ ]
466
+ },
467
+ {
468
+ "id": "dust-7",
469
+ "type": "circle",
470
+ "x": "{{round(canvas.width * 0.735)}}",
471
+ "y": "{{round(canvas.height * 0.371)}}",
472
+ "width": 8.025154320987653,
473
+ "fill": "#cfe0ff",
474
+ "opacity": 0.35,
475
+ "blendMode": "screen",
476
+ "animations": [
477
+ {
478
+ "property": "y",
479
+ "keyframes": [
480
+ {
481
+ "frame": 0,
482
+ "value": "{{round(canvas.height * 0.371)}}"
483
+ },
484
+ {
485
+ "frame": 180,
486
+ "value": "{{round(canvas.height * 0.371) - 86}}"
487
+ }
488
+ ]
489
+ },
490
+ {
491
+ "property": "opacity",
492
+ "keyframes": [
493
+ {
494
+ "frame": 0,
495
+ "value": 0
496
+ },
497
+ {
498
+ "frame": 47,
499
+ "value": 0.5
500
+ },
501
+ {
502
+ "frame": 180,
503
+ "value": 0.1
504
+ }
505
+ ]
506
+ }
507
+ ]
508
+ },
509
+ {
510
+ "id": "dust-8",
511
+ "type": "circle",
512
+ "x": "{{round(canvas.width * 0.062)}}",
513
+ "y": "{{round(canvas.height * 0.407)}}",
514
+ "width": 8.198713991769548,
515
+ "fill": "#cfe0ff",
516
+ "opacity": 0.35,
517
+ "blendMode": "screen",
518
+ "animations": [
519
+ {
520
+ "property": "y",
521
+ "keyframes": [
522
+ {
523
+ "frame": 0,
524
+ "value": "{{round(canvas.height * 0.407)}}"
525
+ },
526
+ {
527
+ "frame": 180,
528
+ "value": "{{round(canvas.height * 0.407) - 94}}"
529
+ }
530
+ ]
531
+ },
532
+ {
533
+ "property": "opacity",
534
+ "keyframes": [
535
+ {
536
+ "frame": 0,
537
+ "value": 0
538
+ },
539
+ {
540
+ "frame": 48,
541
+ "value": 0.5
542
+ },
543
+ {
544
+ "frame": 180,
545
+ "value": 0.1
546
+ }
547
+ ]
548
+ }
549
+ ]
550
+ },
551
+ {
552
+ "id": "dust-9",
553
+ "type": "circle",
554
+ "x": "{{round(canvas.width * 0.781)}}",
555
+ "y": "{{round(canvas.height * 0.637)}}",
556
+ "width": 8.125360082304526,
557
+ "fill": "#cfe0ff",
558
+ "opacity": 0.35,
559
+ "blendMode": "screen",
560
+ "animations": [
561
+ {
562
+ "property": "y",
563
+ "keyframes": [
564
+ {
565
+ "frame": 0,
566
+ "value": "{{round(canvas.height * 0.637)}}"
567
+ },
568
+ {
569
+ "frame": 180,
570
+ "value": "{{round(canvas.height * 0.637) - 140}}"
571
+ }
572
+ ]
573
+ },
574
+ {
575
+ "property": "opacity",
576
+ "keyframes": [
577
+ {
578
+ "frame": 0,
579
+ "value": 0
580
+ },
581
+ {
582
+ "frame": 49,
583
+ "value": 0.5
584
+ },
585
+ {
586
+ "frame": 180,
587
+ "value": 0.1
588
+ }
589
+ ]
590
+ }
591
+ ]
592
+ },
593
+ {
594
+ "id": "dust-10",
595
+ "type": "circle",
596
+ "x": "{{round(canvas.width * 0.766)}}",
597
+ "y": "{{round(canvas.height * 0.788)}}",
598
+ "width": 6.619907407407407,
599
+ "fill": "#cfe0ff",
600
+ "opacity": 0.35,
601
+ "blendMode": "screen",
602
+ "animations": [
603
+ {
604
+ "property": "y",
605
+ "keyframes": [
606
+ {
607
+ "frame": 0,
608
+ "value": "{{round(canvas.height * 0.788)}}"
609
+ },
610
+ {
611
+ "frame": 180,
612
+ "value": "{{round(canvas.height * 0.788) - 187}}"
613
+ }
614
+ ]
615
+ },
616
+ {
617
+ "property": "opacity",
618
+ "keyframes": [
619
+ {
620
+ "frame": 0,
621
+ "value": 0
622
+ },
623
+ {
624
+ "frame": 50,
625
+ "value": 0.5
626
+ },
627
+ {
628
+ "frame": 180,
629
+ "value": 0.1
630
+ }
631
+ ]
632
+ }
633
+ ]
634
+ },
635
+ {
636
+ "id": "dust-11",
637
+ "type": "circle",
638
+ "x": "{{round(canvas.width * 0.303)}}",
639
+ "y": "{{round(canvas.height * 0.886)}}",
640
+ "width": 7.608281893004115,
641
+ "fill": "#cfe0ff",
642
+ "opacity": 0.35,
643
+ "blendMode": "screen",
644
+ "animations": [
645
+ {
646
+ "property": "y",
647
+ "keyframes": [
648
+ {
649
+ "frame": 0,
650
+ "value": "{{round(canvas.height * 0.886)}}"
651
+ },
652
+ {
653
+ "frame": 180,
654
+ "value": "{{round(canvas.height * 0.886) - 211}}"
655
+ }
656
+ ]
657
+ },
658
+ {
659
+ "property": "opacity",
660
+ "keyframes": [
661
+ {
662
+ "frame": 0,
663
+ "value": 0
664
+ },
665
+ {
666
+ "frame": 51,
667
+ "value": 0.5
668
+ },
669
+ {
670
+ "frame": 180,
671
+ "value": 0.1
672
+ }
673
+ ]
674
+ }
675
+ ]
676
+ },
677
+ {
678
+ "id": "dust-12",
679
+ "type": "circle",
680
+ "x": "{{round(canvas.width * 0.639)}}",
681
+ "y": "{{round(canvas.height * 0.474)}}",
682
+ "width": 7.460853909465021,
683
+ "fill": "#cfe0ff",
684
+ "opacity": 0.35,
685
+ "blendMode": "screen",
686
+ "animations": [
687
+ {
688
+ "property": "y",
689
+ "keyframes": [
690
+ {
691
+ "frame": 0,
692
+ "value": "{{round(canvas.height * 0.474)}}"
693
+ },
694
+ {
695
+ "frame": 180,
696
+ "value": "{{round(canvas.height * 0.474) - 125}}"
697
+ }
698
+ ]
699
+ },
700
+ {
701
+ "property": "opacity",
702
+ "keyframes": [
703
+ {
704
+ "frame": 0,
705
+ "value": 0
706
+ },
707
+ {
708
+ "frame": 52,
709
+ "value": 0.5
710
+ },
711
+ {
712
+ "frame": 180,
713
+ "value": 0.1
714
+ }
715
+ ]
716
+ }
717
+ ]
718
+ },
719
+ {
720
+ "id": "dust-13",
721
+ "type": "circle",
722
+ "x": "{{round(canvas.width * 0.205)}}",
723
+ "y": "{{round(canvas.height * 0.502)}}",
724
+ "width": 4.3257716049382715,
725
+ "fill": "#cfe0ff",
726
+ "opacity": 0.35,
727
+ "blendMode": "screen",
728
+ "animations": [
729
+ {
730
+ "property": "y",
731
+ "keyframes": [
732
+ {
733
+ "frame": 0,
734
+ "value": "{{round(canvas.height * 0.502)}}"
735
+ },
736
+ {
737
+ "frame": 180,
738
+ "value": "{{round(canvas.height * 0.502) - 141}}"
739
+ }
740
+ ]
741
+ },
742
+ {
743
+ "property": "opacity",
744
+ "keyframes": [
745
+ {
746
+ "frame": 0,
747
+ "value": 0
748
+ },
749
+ {
750
+ "frame": 53,
751
+ "value": 0.5
752
+ },
753
+ {
754
+ "frame": 180,
755
+ "value": 0.1
756
+ }
757
+ ]
758
+ }
759
+ ]
760
+ },
761
+ {
762
+ "id": "dust-14",
763
+ "type": "circle",
764
+ "x": "{{round(canvas.width * 0.508)}}",
765
+ "y": "{{round(canvas.height * 0.883)}}",
766
+ "width": 5.4622942386831275,
767
+ "fill": "#cfe0ff",
768
+ "opacity": 0.35,
769
+ "blendMode": "screen",
770
+ "animations": [
771
+ {
772
+ "property": "y",
773
+ "keyframes": [
774
+ {
775
+ "frame": 0,
776
+ "value": "{{round(canvas.height * 0.883)}}"
777
+ },
778
+ {
779
+ "frame": 180,
780
+ "value": "{{round(canvas.height * 0.883) - 108}}"
781
+ }
782
+ ]
783
+ },
784
+ {
785
+ "property": "opacity",
786
+ "keyframes": [
787
+ {
788
+ "frame": 0,
789
+ "value": 0
790
+ },
791
+ {
792
+ "frame": 54,
793
+ "value": 0.5
794
+ },
795
+ {
796
+ "frame": 180,
797
+ "value": 0.1
798
+ }
799
+ ]
800
+ }
801
+ ]
802
+ },
803
+ {
804
+ "id": "dust-15",
805
+ "type": "circle",
806
+ "x": "{{round(canvas.width * 0.683)}}",
807
+ "y": "{{round(canvas.height * 0.718)}}",
808
+ "width": 8.574125514403292,
809
+ "fill": "#cfe0ff",
810
+ "opacity": 0.35,
811
+ "blendMode": "screen",
812
+ "animations": [
813
+ {
814
+ "property": "y",
815
+ "keyframes": [
816
+ {
817
+ "frame": 0,
818
+ "value": "{{round(canvas.height * 0.718)}}"
819
+ },
820
+ {
821
+ "frame": 180,
822
+ "value": "{{round(canvas.height * 0.718) - 86}}"
823
+ }
824
+ ]
825
+ },
826
+ {
827
+ "property": "opacity",
828
+ "keyframes": [
829
+ {
830
+ "frame": 0,
831
+ "value": 0
832
+ },
833
+ {
834
+ "frame": 55,
835
+ "value": 0.5
836
+ },
837
+ {
838
+ "frame": 180,
839
+ "value": 0.1
840
+ }
841
+ ]
842
+ }
843
+ ]
844
+ },
845
+ {
846
+ "id": "dust-16",
847
+ "type": "circle",
848
+ "x": "{{round(canvas.width * 0.718)}}",
849
+ "y": "{{round(canvas.height * 0.178)}}",
850
+ "width": 5.142746913580247,
851
+ "fill": "#cfe0ff",
852
+ "opacity": 0.35,
853
+ "blendMode": "screen",
854
+ "animations": [
855
+ {
856
+ "property": "y",
857
+ "keyframes": [
858
+ {
859
+ "frame": 0,
860
+ "value": "{{round(canvas.height * 0.178)}}"
861
+ },
862
+ {
863
+ "frame": 180,
864
+ "value": "{{round(canvas.height * 0.178) - 212}}"
865
+ }
866
+ ]
867
+ },
868
+ {
869
+ "property": "opacity",
870
+ "keyframes": [
871
+ {
872
+ "frame": 0,
873
+ "value": 0
874
+ },
875
+ {
876
+ "frame": 56,
877
+ "value": 0.5
878
+ },
879
+ {
880
+ "frame": 180,
881
+ "value": 0.1
882
+ }
883
+ ]
884
+ }
885
+ ]
886
+ },
887
+ {
888
+ "id": "dust-17",
889
+ "type": "circle",
890
+ "x": "{{round(canvas.width * 0.341)}}",
891
+ "y": "{{round(canvas.height * 0.066)}}",
892
+ "width": 5.760751028806585,
893
+ "fill": "#cfe0ff",
894
+ "opacity": 0.35,
895
+ "blendMode": "screen",
896
+ "animations": [
897
+ {
898
+ "property": "y",
899
+ "keyframes": [
900
+ {
901
+ "frame": 0,
902
+ "value": "{{round(canvas.height * 0.066)}}"
903
+ },
904
+ {
905
+ "frame": 180,
906
+ "value": "{{round(canvas.height * 0.066) - 214}}"
907
+ }
908
+ ]
909
+ },
910
+ {
911
+ "property": "opacity",
912
+ "keyframes": [
913
+ {
914
+ "frame": 0,
915
+ "value": 0
916
+ },
917
+ {
918
+ "frame": 57,
919
+ "value": 0.5
920
+ },
921
+ {
922
+ "frame": 180,
923
+ "value": 0.1
924
+ }
925
+ ]
926
+ }
927
+ ]
928
+ },
929
+ {
930
+ "id": "dust-18",
931
+ "type": "circle",
932
+ "x": "{{round(canvas.width * 0.578)}}",
933
+ "y": "{{round(canvas.height * 0.036)}}",
934
+ "width": 3.4651748971193417,
935
+ "fill": "#cfe0ff",
936
+ "opacity": 0.35,
937
+ "blendMode": "screen",
938
+ "animations": [
939
+ {
940
+ "property": "y",
941
+ "keyframes": [
942
+ {
943
+ "frame": 0,
944
+ "value": "{{round(canvas.height * 0.036)}}"
945
+ },
946
+ {
947
+ "frame": 180,
948
+ "value": "{{round(canvas.height * 0.036) - 130}}"
949
+ }
950
+ ]
951
+ },
952
+ {
953
+ "property": "opacity",
954
+ "keyframes": [
955
+ {
956
+ "frame": 0,
957
+ "value": 0
958
+ },
959
+ {
960
+ "frame": 58,
961
+ "value": 0.5
962
+ },
963
+ {
964
+ "frame": 180,
965
+ "value": 0.1
966
+ }
967
+ ]
968
+ }
969
+ ]
970
+ },
971
+ {
972
+ "id": "dust-19",
973
+ "type": "circle",
974
+ "x": "{{round(canvas.width * 0.971)}}",
975
+ "y": "{{round(canvas.height * 0.484)}}",
976
+ "width": 7.070833333333334,
977
+ "fill": "#cfe0ff",
978
+ "opacity": 0.35,
979
+ "blendMode": "screen",
980
+ "animations": [
981
+ {
982
+ "property": "y",
983
+ "keyframes": [
984
+ {
985
+ "frame": 0,
986
+ "value": "{{round(canvas.height * 0.484)}}"
987
+ },
988
+ {
989
+ "frame": 180,
990
+ "value": "{{round(canvas.height * 0.484) - 189}}"
991
+ }
992
+ ]
993
+ },
994
+ {
995
+ "property": "opacity",
996
+ "keyframes": [
997
+ {
998
+ "frame": 0,
999
+ "value": 0
1000
+ },
1001
+ {
1002
+ "frame": 59,
1003
+ "value": 0.5
1004
+ },
1005
+ {
1006
+ "frame": 180,
1007
+ "value": 0.1
1008
+ }
1009
+ ]
1010
+ }
1011
+ ]
1012
+ },
1013
+ {
1014
+ "id": "dust-20",
1015
+ "type": "circle",
1016
+ "x": "{{round(canvas.width * 0.471)}}",
1017
+ "y": "{{round(canvas.height * 0.100)}}",
1018
+ "width": 6.5036522633744855,
1019
+ "fill": "#cfe0ff",
1020
+ "opacity": 0.35,
1021
+ "blendMode": "screen",
1022
+ "animations": [
1023
+ {
1024
+ "property": "y",
1025
+ "keyframes": [
1026
+ {
1027
+ "frame": 0,
1028
+ "value": "{{round(canvas.height * 0.100)}}"
1029
+ },
1030
+ {
1031
+ "frame": 180,
1032
+ "value": "{{round(canvas.height * 0.100) - 153}}"
1033
+ }
1034
+ ]
1035
+ },
1036
+ {
1037
+ "property": "opacity",
1038
+ "keyframes": [
1039
+ {
1040
+ "frame": 0,
1041
+ "value": 0
1042
+ },
1043
+ {
1044
+ "frame": 60,
1045
+ "value": 0.5
1046
+ },
1047
+ {
1048
+ "frame": 180,
1049
+ "value": 0.1
1050
+ }
1051
+ ]
1052
+ }
1053
+ ]
1054
+ },
1055
+ {
1056
+ "id": "dust-21",
1057
+ "type": "circle",
1058
+ "x": "{{round(canvas.width * 0.992)}}",
1059
+ "y": "{{round(canvas.height * 0.095)}}",
1060
+ "width": 8.134002057613168,
1061
+ "fill": "#cfe0ff",
1062
+ "opacity": 0.35,
1063
+ "blendMode": "screen",
1064
+ "animations": [
1065
+ {
1066
+ "property": "y",
1067
+ "keyframes": [
1068
+ {
1069
+ "frame": 0,
1070
+ "value": "{{round(canvas.height * 0.095)}}"
1071
+ },
1072
+ {
1073
+ "frame": 180,
1074
+ "value": "{{round(canvas.height * 0.095) - 203}}"
1075
+ }
1076
+ ]
1077
+ },
1078
+ {
1079
+ "property": "opacity",
1080
+ "keyframes": [
1081
+ {
1082
+ "frame": 0,
1083
+ "value": 0
1084
+ },
1085
+ {
1086
+ "frame": 61,
1087
+ "value": 0.5
1088
+ },
1089
+ {
1090
+ "frame": 180,
1091
+ "value": 0.1
1092
+ }
1093
+ ]
1094
+ }
1095
+ ]
1096
+ },
1097
+ {
1098
+ "id": "dust-22",
1099
+ "type": "circle",
1100
+ "x": "{{round(canvas.width * 0.632)}}",
1101
+ "y": "{{round(canvas.height * 0.086)}}",
1102
+ "width": 8.110030864197531,
1103
+ "fill": "#cfe0ff",
1104
+ "opacity": 0.35,
1105
+ "blendMode": "screen",
1106
+ "animations": [
1107
+ {
1108
+ "property": "y",
1109
+ "keyframes": [
1110
+ {
1111
+ "frame": 0,
1112
+ "value": "{{round(canvas.height * 0.086)}}"
1113
+ },
1114
+ {
1115
+ "frame": 180,
1116
+ "value": "{{round(canvas.height * 0.086) - 178}}"
1117
+ }
1118
+ ]
1119
+ },
1120
+ {
1121
+ "property": "opacity",
1122
+ "keyframes": [
1123
+ {
1124
+ "frame": 0,
1125
+ "value": 0
1126
+ },
1127
+ {
1128
+ "frame": 62,
1129
+ "value": 0.5
1130
+ },
1131
+ {
1132
+ "frame": 180,
1133
+ "value": 0.1
1134
+ }
1135
+ ]
1136
+ }
1137
+ ]
1138
+ },
1139
+ {
1140
+ "id": "dust-23",
1141
+ "type": "circle",
1142
+ "x": "{{round(canvas.width * 0.564)}}",
1143
+ "y": "{{round(canvas.height * 0.653)}}",
1144
+ "width": 5.690997942386831,
1145
+ "fill": "#cfe0ff",
1146
+ "opacity": 0.35,
1147
+ "blendMode": "screen",
1148
+ "animations": [
1149
+ {
1150
+ "property": "y",
1151
+ "keyframes": [
1152
+ {
1153
+ "frame": 0,
1154
+ "value": "{{round(canvas.height * 0.653)}}"
1155
+ },
1156
+ {
1157
+ "frame": 180,
1158
+ "value": "{{round(canvas.height * 0.653) - 193}}"
1159
+ }
1160
+ ]
1161
+ },
1162
+ {
1163
+ "property": "opacity",
1164
+ "keyframes": [
1165
+ {
1166
+ "frame": 0,
1167
+ "value": 0
1168
+ },
1169
+ {
1170
+ "frame": 63,
1171
+ "value": 0.5
1172
+ },
1173
+ {
1174
+ "frame": 180,
1175
+ "value": 0.1
1176
+ }
1177
+ ]
1178
+ }
1179
+ ]
1180
+ },
1181
+ {
1182
+ "id": "dust-24",
1183
+ "type": "circle",
1184
+ "x": "{{round(canvas.width * 0.591)}}",
1185
+ "y": "{{round(canvas.height * 0.562)}}",
1186
+ "width": 8.580606995884773,
1187
+ "fill": "#cfe0ff",
1188
+ "opacity": 0.35,
1189
+ "blendMode": "screen",
1190
+ "animations": [
1191
+ {
1192
+ "property": "y",
1193
+ "keyframes": [
1194
+ {
1195
+ "frame": 0,
1196
+ "value": "{{round(canvas.height * 0.562)}}"
1197
+ },
1198
+ {
1199
+ "frame": 180,
1200
+ "value": "{{round(canvas.height * 0.562) - 93}}"
1201
+ }
1202
+ ]
1203
+ },
1204
+ {
1205
+ "property": "opacity",
1206
+ "keyframes": [
1207
+ {
1208
+ "frame": 0,
1209
+ "value": 0
1210
+ },
1211
+ {
1212
+ "frame": 64,
1213
+ "value": 0.5
1214
+ },
1215
+ {
1216
+ "frame": 180,
1217
+ "value": 0.1
1218
+ }
1219
+ ]
1220
+ }
1221
+ ]
1222
+ },
1223
+ {
1224
+ "id": "dust-25",
1225
+ "type": "circle",
1226
+ "x": "{{round(canvas.width * 0.367)}}",
1227
+ "y": "{{round(canvas.height * 0.651)}}",
1228
+ "width": 6.26033950617284,
1229
+ "fill": "#cfe0ff",
1230
+ "opacity": 0.35,
1231
+ "blendMode": "screen",
1232
+ "animations": [
1233
+ {
1234
+ "property": "y",
1235
+ "keyframes": [
1236
+ {
1237
+ "frame": 0,
1238
+ "value": "{{round(canvas.height * 0.651)}}"
1239
+ },
1240
+ {
1241
+ "frame": 180,
1242
+ "value": "{{round(canvas.height * 0.651) - 125}}"
1243
+ }
1244
+ ]
1245
+ },
1246
+ {
1247
+ "property": "opacity",
1248
+ "keyframes": [
1249
+ {
1250
+ "frame": 0,
1251
+ "value": 0
1252
+ },
1253
+ {
1254
+ "frame": 65,
1255
+ "value": 0.5
1256
+ },
1257
+ {
1258
+ "frame": 180,
1259
+ "value": 0.1
1260
+ }
1261
+ ]
1262
+ }
1263
+ ]
1264
+ },
1265
+ {
1266
+ "id": "title",
1267
+ "type": "text",
1268
+ "content": "{{title}}",
1269
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.085)}}",
1270
+ "color": "#ffffff",
1271
+ "x": "{{round(canvas.width * 0.5)}}",
1272
+ "y": "{{round(canvas.height * 0.12)}}",
1273
+ "textAlign": "center",
1274
+ "fontWeight": 900,
1275
+ "letterSpacing": "{{round(min(canvas.width, canvas.height) * 0.006)}}",
1276
+ "maxWidth": "{{round(canvas.width * 0.9)}}",
1277
+ "maxLines": 2,
1278
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.05)}}",
1279
+ "lineHeight": 1.02,
1280
+ "shadow": {
1281
+ "color": "{{accent}}",
1282
+ "blur": 40,
1283
+ "offsetX": 0,
1284
+ "offsetY": 0
1285
+ },
1286
+ "startFrame": 10,
1287
+ "animations": [
1288
+ {
1289
+ "property": "opacity",
1290
+ "keyframes": [
1291
+ {
1292
+ "frame": 0,
1293
+ "value": 0
1294
+ },
1295
+ {
1296
+ "frame": 24,
1297
+ "value": 1
1298
+ }
1299
+ ]
1300
+ },
1301
+ {
1302
+ "property": "y",
1303
+ "keyframes": [
1304
+ {
1305
+ "frame": 0,
1306
+ "value": "{{round(canvas.height * 0.15)}}",
1307
+ "easing": "land"
1308
+ },
1309
+ {
1310
+ "frame": 30,
1311
+ "value": "{{round(canvas.height * 0.12)}}"
1312
+ }
1313
+ ]
1314
+ }
1315
+ ]
1316
+ },
1317
+ {
1318
+ "id": "subtitle",
1319
+ "type": "text",
1320
+ "content": "{{subtitle}}",
1321
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.034)}}",
1322
+ "color": "{{accent2}}",
1323
+ "x": "{{round(canvas.width * 0.5)}}",
1324
+ "y": "{{round(canvas.height * 0.82)}}",
1325
+ "textAlign": "center",
1326
+ "fontWeight": 700,
1327
+ "letterSpacing": "{{round(min(canvas.width, canvas.height) * 0.008)}}",
1328
+ "maxWidth": "{{round(canvas.width * 0.9)}}",
1329
+ "maxLines": 1,
1330
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.02)}}",
1331
+ "startFrame": 40,
1332
+ "animations": [
1333
+ {
1334
+ "property": "opacity",
1335
+ "keyframes": [
1336
+ {
1337
+ "frame": 0,
1338
+ "value": 0
1339
+ },
1340
+ {
1341
+ "frame": 24,
1342
+ "value": 1
1343
+ }
1344
+ ]
1345
+ }
1346
+ ]
1347
+ },
1348
+ {
1349
+ "id": "sfx-1",
1350
+ "type": "audio",
1351
+ "src": "sfx:riser",
1352
+ "startFrame": 0,
1353
+ "volume": 0.3
1354
+ },
1355
+ {
1356
+ "id": "sfx-2",
1357
+ "type": "audio",
1358
+ "src": "sfx:thump",
1359
+ "startFrame": 28,
1360
+ "volume": 0.4
1361
+ }
1362
+ ],
1363
+ "scene": {
1364
+ "camera": {
1365
+ "animations": [
1366
+ {
1367
+ "property": "zoom",
1368
+ "keyframes": [
1369
+ {
1370
+ "frame": 0,
1371
+ "value": 1
1372
+ },
1373
+ {
1374
+ "frame": 180,
1375
+ "value": 1.08,
1376
+ "easing": "drift"
1377
+ }
1378
+ ]
1379
+ }
1380
+ ]
1381
+ }
1382
+ }
1383
+ }