motionrender 0.2.0 → 0.2.2

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 (66) hide show
  1. package/dist/cli.js +2634 -528
  2. package/dist/index.js +46 -1
  3. package/dist/player.js +13 -13
  4. package/dist/react.js +704 -9
  5. package/dist/types/packages/ai/src/agent.d.ts +57 -0
  6. package/dist/types/packages/ai/src/brand-scraper.d.ts +35 -0
  7. package/dist/types/packages/ai/src/captions.d.ts +11 -0
  8. package/dist/types/packages/ai/src/compose.d.ts +2 -0
  9. package/dist/types/packages/ai/src/edit.d.ts +69 -0
  10. package/dist/types/packages/ai/src/index.d.ts +8 -1
  11. package/dist/types/packages/ai/src/plan.d.ts +42 -0
  12. package/dist/types/packages/ai/src/prompt.d.ts +18 -0
  13. package/dist/types/packages/ai/src/providers.d.ts +35 -2
  14. package/dist/types/packages/ai/src/registry.d.ts +81 -0
  15. package/dist/types/packages/ai/src/retime.d.ts +7 -0
  16. package/dist/types/packages/ai/src/shorts.d.ts +75 -0
  17. package/dist/types/packages/cli/src/agent-cli.d.ts +15 -0
  18. package/dist/types/packages/cli/src/ai-studio-page.d.ts +1 -1
  19. package/dist/types/packages/cli/src/ai.d.ts +1 -1
  20. package/dist/types/packages/cli/src/build.d.ts +2 -0
  21. package/dist/types/packages/cli/src/templates.d.ts +13 -4
  22. package/dist/types/packages/contracts/src/index.d.ts +12 -12
  23. package/dist/types/packages/core/src/review.d.ts +24 -0
  24. package/dist/types/packages/ffmpeg/src/index.d.ts +1 -0
  25. package/dist/types/packages/jobs/src/queue.d.ts +2 -2
  26. package/dist/types/packages/jobs/src/redis.d.ts +2 -2
  27. package/dist/types/packages/react/src/components.d.ts +166 -0
  28. package/dist/types/packages/react/src/index.d.ts +54 -2
  29. package/dist/types/packages/react/src/springs.d.ts +25 -0
  30. package/dist/types/packages/schema/src/captions.d.ts +2 -0
  31. package/dist/types/packages/schema/src/index.d.ts +66 -66
  32. package/dist/types/scripts/eval-briefs.d.ts +67 -0
  33. package/package.json +1 -1
  34. package/skills/ove/SKILL.md +40 -2
  35. package/skills/ove-agent/SKILL.md +144 -0
  36. package/skills/ove-code-video/SKILL.md +17 -9
  37. package/skills/ove-motion-graphics/SKILL.md +113 -0
  38. package/skills/ove-react-video/SKILL.md +212 -0
  39. package/skills/ove-remotion/SKILL.md +122 -0
  40. package/studio/assets/index-DmZj9wTZ.css +1 -0
  41. package/studio/assets/index-n3DJI_GV.js +10 -0
  42. package/studio/index.html +2 -2
  43. package/templates/case-study/composition.json +25 -10
  44. package/templates/event-invite/composition.json +12 -2
  45. package/templates/explainer-square/composition.json +1 -1
  46. package/templates/keynote-wide/composition.json +2 -2
  47. package/templates/kinetic-reel/composition.json +73 -0
  48. package/templates/kinetic-reel/composition.schema.json +9295 -0
  49. package/templates/kinetic-reel/template.json +17 -0
  50. package/templates/kinetic-reel/video.bundle.js +72 -0
  51. package/templates/kinetic-reel/video.tsx +283 -0
  52. package/templates/product-card/composition.json +7 -2
  53. package/templates/product-wide/composition.json +1 -1
  54. package/templates/quote-card/composition.json +6 -1
  55. package/templates/saas-launch/composition.json +70 -0
  56. package/templates/saas-launch/composition.schema.json +9295 -0
  57. package/templates/saas-launch/template.json +16 -0
  58. package/templates/saas-launch/video.bundle.js +72 -0
  59. package/templates/saas-launch/video.tsx +217 -0
  60. package/templates/sale-promo/composition.json +16 -1
  61. package/templates/showcase-tall/composition.json +4 -4
  62. package/templates/slideshow/composition.json +1 -1
  63. package/templates/social-reel/composition.json +19 -4
  64. package/templates/story-tall/composition.json +1 -1
  65. package/studio/assets/index-CzOvWv9w.css +0 -1
  66. package/studio/assets/index-J_fvKgng.js +0 -11
@@ -3,6 +3,8 @@ export * from './variables.js';
3
3
  export * from './captions.js';
4
4
  export declare const easingSchema: z.ZodUnion<readonly [z.ZodEnum<{
5
5
  pop: "pop";
6
+ land: "land";
7
+ drift: "drift";
6
8
  linear: "linear";
7
9
  easeIn: "easeIn";
8
10
  easeOut: "easeOut";
@@ -20,25 +22,21 @@ export declare const easingSchema: z.ZodUnion<readonly [z.ZodEnum<{
20
22
  easeOutBack: "easeOutBack";
21
23
  spring: "spring";
22
24
  hold: "hold";
23
- land: "land";
24
25
  snap: "snap";
25
26
  glide: "glide";
26
27
  move: "move";
27
28
  exit: "exit";
28
- drift: "drift";
29
29
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
30
30
  export declare const colorProperties: readonly ["fill", "color", "stroke"];
31
31
  export declare const cssVariableName: RegExp;
32
32
  declare const animation: z.ZodObject<{
33
33
  property: z.ZodUnion<readonly [z.ZodEnum<{
34
34
  fill: "fill";
35
- color: "color";
36
- stroke: "stroke";
35
+ opacity: "opacity";
36
+ scale: "scale";
37
37
  x: "x";
38
38
  y: "y";
39
- opacity: "opacity";
40
39
  rotation: "rotation";
41
- scale: "scale";
42
40
  fontSize: "fontSize";
43
41
  width: "width";
44
42
  height: "height";
@@ -50,12 +48,16 @@ declare const animation: z.ZodObject<{
50
48
  blur: "blur";
51
49
  volume: "volume";
52
50
  d: "d";
51
+ color: "color";
52
+ stroke: "stroke";
53
53
  }>, z.ZodString]>;
54
54
  keyframes: z.ZodArray<z.ZodObject<{
55
55
  frame: z.ZodNumber;
56
56
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
57
57
  easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
58
58
  pop: "pop";
59
+ land: "land";
60
+ drift: "drift";
59
61
  linear: "linear";
60
62
  easeIn: "easeIn";
61
63
  easeOut: "easeOut";
@@ -73,12 +75,10 @@ declare const animation: z.ZodObject<{
73
75
  easeOutBack: "easeOutBack";
74
76
  spring: "spring";
75
77
  hold: "hold";
76
- land: "land";
77
78
  snap: "snap";
78
79
  glide: "glide";
79
80
  move: "move";
80
81
  exit: "exit";
81
- drift: "drift";
82
82
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
83
83
  }, z.core.$strip>>;
84
84
  repeat: z.ZodOptional<z.ZodNumber>;
@@ -125,9 +125,9 @@ export declare const splitSchema: z.ZodObject<{
125
125
  }>>;
126
126
  preset: z.ZodDefault<z.ZodEnum<{
127
127
  pop: "pop";
128
+ fade: "fade";
128
129
  blur: "blur";
129
130
  rise: "rise";
130
- fade: "fade";
131
131
  slide: "slide";
132
132
  drop: "drop";
133
133
  typewriter: "typewriter";
@@ -136,13 +136,11 @@ export declare const splitSchema: z.ZodObject<{
136
136
  animations: z.ZodOptional<z.ZodArray<z.ZodObject<{
137
137
  property: z.ZodUnion<readonly [z.ZodEnum<{
138
138
  fill: "fill";
139
- color: "color";
140
- stroke: "stroke";
139
+ opacity: "opacity";
140
+ scale: "scale";
141
141
  x: "x";
142
142
  y: "y";
143
- opacity: "opacity";
144
143
  rotation: "rotation";
145
- scale: "scale";
146
144
  fontSize: "fontSize";
147
145
  width: "width";
148
146
  height: "height";
@@ -154,12 +152,16 @@ export declare const splitSchema: z.ZodObject<{
154
152
  blur: "blur";
155
153
  volume: "volume";
156
154
  d: "d";
155
+ color: "color";
156
+ stroke: "stroke";
157
157
  }>, z.ZodString]>;
158
158
  keyframes: z.ZodArray<z.ZodObject<{
159
159
  frame: z.ZodNumber;
160
160
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
161
161
  easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
162
162
  pop: "pop";
163
+ land: "land";
164
+ drift: "drift";
163
165
  linear: "linear";
164
166
  easeIn: "easeIn";
165
167
  easeOut: "easeOut";
@@ -177,12 +179,10 @@ export declare const splitSchema: z.ZodObject<{
177
179
  easeOutBack: "easeOutBack";
178
180
  spring: "spring";
179
181
  hold: "hold";
180
- land: "land";
181
182
  snap: "snap";
182
183
  glide: "glide";
183
184
  move: "move";
184
185
  exit: "exit";
185
- drift: "drift";
186
186
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
187
187
  }, z.core.$strip>>;
188
188
  repeat: z.ZodOptional<z.ZodNumber>;
@@ -209,10 +209,10 @@ export declare const spanSchema: z.ZodObject<{
209
209
  }, z.core.$strip>>;
210
210
  }, z.core.$strip>], "type">]>>;
211
211
  fontSize: z.ZodOptional<z.ZodNumber>;
212
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
212
+ fontWeight: z.ZodOptional<z.ZodPreprocess<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
213
213
  normal: "normal";
214
214
  bold: "bold";
215
- }>]>>;
215
+ }>]>, unknown>>;
216
216
  fontStyle: z.ZodOptional<z.ZodEnum<{
217
217
  normal: "normal";
218
218
  italic: "italic";
@@ -248,11 +248,11 @@ export declare const gradeSchema: z.ZodObject<{
248
248
  export declare const outputFormats: readonly ["mp4", "webm", "mov", "gif", "png"];
249
249
  export declare const exportSchema: z.ZodObject<{
250
250
  format: z.ZodDefault<z.ZodEnum<{
251
+ png: "png";
251
252
  mp4: "mp4";
252
253
  webm: "webm";
253
254
  mov: "mov";
254
255
  gif: "gif";
255
- png: "png";
256
256
  }>>;
257
257
  codec: z.ZodDefault<z.ZodEnum<{
258
258
  h264: "h264";
@@ -276,11 +276,11 @@ export declare const exportSchema: z.ZodObject<{
276
276
  export declare const transitionSchema: z.ZodObject<{
277
277
  type: z.ZodEnum<{
278
278
  push: "push";
279
- blur: "blur";
280
279
  fade: "fade";
280
+ zoom: "zoom";
281
+ blur: "blur";
281
282
  slide: "slide";
282
283
  wipe: "wipe";
283
- zoom: "zoom";
284
284
  iris: "iris";
285
285
  dip: "dip";
286
286
  }>;
@@ -296,6 +296,8 @@ export declare const transitionSchema: z.ZodObject<{
296
296
  y: z.ZodOptional<z.ZodNumber>;
297
297
  easing: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
298
298
  pop: "pop";
299
+ land: "land";
300
+ drift: "drift";
299
301
  linear: "linear";
300
302
  easeIn: "easeIn";
301
303
  easeOut: "easeOut";
@@ -313,12 +315,10 @@ export declare const transitionSchema: z.ZodObject<{
313
315
  easeOutBack: "easeOutBack";
314
316
  spring: "spring";
315
317
  hold: "hold";
316
- land: "land";
317
318
  snap: "snap";
318
319
  glide: "glide";
319
320
  move: "move";
320
321
  exit: "exit";
321
- drift: "drift";
322
322
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
323
323
  }, z.core.$strip>;
324
324
  export declare const layerSchema: z.ZodType<any>;
@@ -330,10 +330,10 @@ export declare const cameraSchema: z.ZodObject<{
330
330
  shake: z.ZodDefault<z.ZodNumber>;
331
331
  animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
332
332
  property: z.ZodEnum<{
333
+ zoom: "zoom";
333
334
  x: "x";
334
335
  y: "y";
335
336
  rotation: "rotation";
336
- zoom: "zoom";
337
337
  shake: "shake";
338
338
  }>;
339
339
  keyframes: z.ZodArray<z.ZodObject<{
@@ -341,6 +341,8 @@ export declare const cameraSchema: z.ZodObject<{
341
341
  value: z.ZodNumber;
342
342
  easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
343
343
  pop: "pop";
344
+ land: "land";
345
+ drift: "drift";
344
346
  linear: "linear";
345
347
  easeIn: "easeIn";
346
348
  easeOut: "easeOut";
@@ -358,12 +360,10 @@ export declare const cameraSchema: z.ZodObject<{
358
360
  easeOutBack: "easeOutBack";
359
361
  spring: "spring";
360
362
  hold: "hold";
361
- land: "land";
362
363
  snap: "snap";
363
364
  glide: "glide";
364
365
  move: "move";
365
366
  exit: "exit";
366
- drift: "drift";
367
367
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
368
368
  }, z.core.$strip>>;
369
369
  repeat: z.ZodOptional<z.ZodNumber>;
@@ -399,11 +399,11 @@ export declare const sceneSchema: z.ZodObject<{
399
399
  transitionIn: z.ZodOptional<z.ZodObject<{
400
400
  type: z.ZodEnum<{
401
401
  push: "push";
402
- blur: "blur";
403
402
  fade: "fade";
403
+ zoom: "zoom";
404
+ blur: "blur";
404
405
  slide: "slide";
405
406
  wipe: "wipe";
406
- zoom: "zoom";
407
407
  iris: "iris";
408
408
  dip: "dip";
409
409
  }>;
@@ -419,6 +419,8 @@ export declare const sceneSchema: z.ZodObject<{
419
419
  y: z.ZodOptional<z.ZodNumber>;
420
420
  easing: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
421
421
  pop: "pop";
422
+ land: "land";
423
+ drift: "drift";
422
424
  linear: "linear";
423
425
  easeIn: "easeIn";
424
426
  easeOut: "easeOut";
@@ -436,22 +438,20 @@ export declare const sceneSchema: z.ZodObject<{
436
438
  easeOutBack: "easeOutBack";
437
439
  spring: "spring";
438
440
  hold: "hold";
439
- land: "land";
440
441
  snap: "snap";
441
442
  glide: "glide";
442
443
  move: "move";
443
444
  exit: "exit";
444
- drift: "drift";
445
445
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
446
446
  }, z.core.$strip>>;
447
447
  transitionOut: z.ZodOptional<z.ZodObject<{
448
448
  type: z.ZodEnum<{
449
449
  push: "push";
450
- blur: "blur";
451
450
  fade: "fade";
451
+ zoom: "zoom";
452
+ blur: "blur";
452
453
  slide: "slide";
453
454
  wipe: "wipe";
454
- zoom: "zoom";
455
455
  iris: "iris";
456
456
  dip: "dip";
457
457
  }>;
@@ -467,6 +467,8 @@ export declare const sceneSchema: z.ZodObject<{
467
467
  y: z.ZodOptional<z.ZodNumber>;
468
468
  easing: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
469
469
  pop: "pop";
470
+ land: "land";
471
+ drift: "drift";
470
472
  linear: "linear";
471
473
  easeIn: "easeIn";
472
474
  easeOut: "easeOut";
@@ -484,12 +486,10 @@ export declare const sceneSchema: z.ZodObject<{
484
486
  easeOutBack: "easeOutBack";
485
487
  spring: "spring";
486
488
  hold: "hold";
487
- land: "land";
488
489
  snap: "snap";
489
490
  glide: "glide";
490
491
  move: "move";
491
492
  exit: "exit";
492
- drift: "drift";
493
493
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
494
494
  }, z.core.$strip>>;
495
495
  camera: z.ZodOptional<z.ZodObject<{
@@ -500,10 +500,10 @@ export declare const sceneSchema: z.ZodObject<{
500
500
  shake: z.ZodDefault<z.ZodNumber>;
501
501
  animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
502
502
  property: z.ZodEnum<{
503
+ zoom: "zoom";
503
504
  x: "x";
504
505
  y: "y";
505
506
  rotation: "rotation";
506
- zoom: "zoom";
507
507
  shake: "shake";
508
508
  }>;
509
509
  keyframes: z.ZodArray<z.ZodObject<{
@@ -511,6 +511,8 @@ export declare const sceneSchema: z.ZodObject<{
511
511
  value: z.ZodNumber;
512
512
  easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
513
513
  pop: "pop";
514
+ land: "land";
515
+ drift: "drift";
514
516
  linear: "linear";
515
517
  easeIn: "easeIn";
516
518
  easeOut: "easeOut";
@@ -528,12 +530,10 @@ export declare const sceneSchema: z.ZodObject<{
528
530
  easeOutBack: "easeOutBack";
529
531
  spring: "spring";
530
532
  hold: "hold";
531
- land: "land";
532
533
  snap: "snap";
533
534
  glide: "glide";
534
535
  move: "move";
535
536
  exit: "exit";
536
- drift: "drift";
537
537
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
538
538
  }, z.core.$strip>>;
539
539
  repeat: z.ZodOptional<z.ZodNumber>;
@@ -556,10 +556,10 @@ export declare const assetSchema: z.ZodObject<{
556
556
  }>;
557
557
  src: z.ZodString;
558
558
  family: z.ZodOptional<z.ZodString>;
559
- weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
559
+ weight: z.ZodOptional<z.ZodPreprocess<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
560
560
  normal: "normal";
561
561
  bold: "bold";
562
- }>]>>;
562
+ }>]>, unknown>>;
563
563
  style: z.ZodOptional<z.ZodEnum<{
564
564
  normal: "normal";
565
565
  italic: "italic";
@@ -640,10 +640,10 @@ export declare const compositionSchema: z.ZodObject<{
640
640
  }>;
641
641
  src: z.ZodString;
642
642
  family: z.ZodOptional<z.ZodString>;
643
- weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
643
+ weight: z.ZodOptional<z.ZodPreprocess<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
644
644
  normal: "normal";
645
645
  bold: "bold";
646
- }>]>>;
646
+ }>]>, unknown>>;
647
647
  style: z.ZodOptional<z.ZodEnum<{
648
648
  normal: "normal";
649
649
  italic: "italic";
@@ -679,11 +679,11 @@ export declare const compositionSchema: z.ZodObject<{
679
679
  transitionIn: z.ZodOptional<z.ZodObject<{
680
680
  type: z.ZodEnum<{
681
681
  push: "push";
682
- blur: "blur";
683
682
  fade: "fade";
683
+ zoom: "zoom";
684
+ blur: "blur";
684
685
  slide: "slide";
685
686
  wipe: "wipe";
686
- zoom: "zoom";
687
687
  iris: "iris";
688
688
  dip: "dip";
689
689
  }>;
@@ -699,6 +699,8 @@ export declare const compositionSchema: z.ZodObject<{
699
699
  y: z.ZodOptional<z.ZodNumber>;
700
700
  easing: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
701
701
  pop: "pop";
702
+ land: "land";
703
+ drift: "drift";
702
704
  linear: "linear";
703
705
  easeIn: "easeIn";
704
706
  easeOut: "easeOut";
@@ -716,22 +718,20 @@ export declare const compositionSchema: z.ZodObject<{
716
718
  easeOutBack: "easeOutBack";
717
719
  spring: "spring";
718
720
  hold: "hold";
719
- land: "land";
720
721
  snap: "snap";
721
722
  glide: "glide";
722
723
  move: "move";
723
724
  exit: "exit";
724
- drift: "drift";
725
725
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
726
726
  }, z.core.$strip>>;
727
727
  transitionOut: z.ZodOptional<z.ZodObject<{
728
728
  type: z.ZodEnum<{
729
729
  push: "push";
730
- blur: "blur";
731
730
  fade: "fade";
731
+ zoom: "zoom";
732
+ blur: "blur";
732
733
  slide: "slide";
733
734
  wipe: "wipe";
734
- zoom: "zoom";
735
735
  iris: "iris";
736
736
  dip: "dip";
737
737
  }>;
@@ -747,6 +747,8 @@ export declare const compositionSchema: z.ZodObject<{
747
747
  y: z.ZodOptional<z.ZodNumber>;
748
748
  easing: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
749
749
  pop: "pop";
750
+ land: "land";
751
+ drift: "drift";
750
752
  linear: "linear";
751
753
  easeIn: "easeIn";
752
754
  easeOut: "easeOut";
@@ -764,12 +766,10 @@ export declare const compositionSchema: z.ZodObject<{
764
766
  easeOutBack: "easeOutBack";
765
767
  spring: "spring";
766
768
  hold: "hold";
767
- land: "land";
768
769
  snap: "snap";
769
770
  glide: "glide";
770
771
  move: "move";
771
772
  exit: "exit";
772
- drift: "drift";
773
773
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
774
774
  }, z.core.$strip>>;
775
775
  camera: z.ZodOptional<z.ZodObject<{
@@ -780,10 +780,10 @@ export declare const compositionSchema: z.ZodObject<{
780
780
  shake: z.ZodDefault<z.ZodNumber>;
781
781
  animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
782
782
  property: z.ZodEnum<{
783
+ zoom: "zoom";
783
784
  x: "x";
784
785
  y: "y";
785
786
  rotation: "rotation";
786
- zoom: "zoom";
787
787
  shake: "shake";
788
788
  }>;
789
789
  keyframes: z.ZodArray<z.ZodObject<{
@@ -791,6 +791,8 @@ export declare const compositionSchema: z.ZodObject<{
791
791
  value: z.ZodNumber;
792
792
  easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
793
793
  pop: "pop";
794
+ land: "land";
795
+ drift: "drift";
794
796
  linear: "linear";
795
797
  easeIn: "easeIn";
796
798
  easeOut: "easeOut";
@@ -808,12 +810,10 @@ export declare const compositionSchema: z.ZodObject<{
808
810
  easeOutBack: "easeOutBack";
809
811
  spring: "spring";
810
812
  hold: "hold";
811
- land: "land";
812
813
  snap: "snap";
813
814
  glide: "glide";
814
815
  move: "move";
815
816
  exit: "exit";
816
- drift: "drift";
817
817
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
818
818
  }, z.core.$strip>>;
819
819
  repeat: z.ZodOptional<z.ZodNumber>;
@@ -852,11 +852,11 @@ export declare const compositionSchema: z.ZodObject<{
852
852
  grain: z.ZodDefault<z.ZodNumber>;
853
853
  export: z.ZodDefault<z.ZodObject<{
854
854
  format: z.ZodDefault<z.ZodEnum<{
855
+ png: "png";
855
856
  mp4: "mp4";
856
857
  webm: "webm";
857
858
  mov: "mov";
858
859
  gif: "gif";
859
- png: "png";
860
860
  }>>;
861
861
  codec: z.ZodDefault<z.ZodEnum<{
862
862
  h264: "h264";
@@ -972,10 +972,10 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
972
972
  }>;
973
973
  src: z.ZodString;
974
974
  family: z.ZodOptional<z.ZodString>;
975
- weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
975
+ weight: z.ZodOptional<z.ZodPreprocess<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
976
976
  normal: "normal";
977
977
  bold: "bold";
978
- }>]>>;
978
+ }>]>, unknown>>;
979
979
  style: z.ZodOptional<z.ZodEnum<{
980
980
  normal: "normal";
981
981
  italic: "italic";
@@ -1011,11 +1011,11 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1011
1011
  transitionIn: z.ZodOptional<z.ZodObject<{
1012
1012
  type: z.ZodEnum<{
1013
1013
  push: "push";
1014
- blur: "blur";
1015
1014
  fade: "fade";
1015
+ zoom: "zoom";
1016
+ blur: "blur";
1016
1017
  slide: "slide";
1017
1018
  wipe: "wipe";
1018
- zoom: "zoom";
1019
1019
  iris: "iris";
1020
1020
  dip: "dip";
1021
1021
  }>;
@@ -1031,6 +1031,8 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1031
1031
  y: z.ZodOptional<z.ZodNumber>;
1032
1032
  easing: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
1033
1033
  pop: "pop";
1034
+ land: "land";
1035
+ drift: "drift";
1034
1036
  linear: "linear";
1035
1037
  easeIn: "easeIn";
1036
1038
  easeOut: "easeOut";
@@ -1048,22 +1050,20 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1048
1050
  easeOutBack: "easeOutBack";
1049
1051
  spring: "spring";
1050
1052
  hold: "hold";
1051
- land: "land";
1052
1053
  snap: "snap";
1053
1054
  glide: "glide";
1054
1055
  move: "move";
1055
1056
  exit: "exit";
1056
- drift: "drift";
1057
1057
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
1058
1058
  }, z.core.$strip>>;
1059
1059
  transitionOut: z.ZodOptional<z.ZodObject<{
1060
1060
  type: z.ZodEnum<{
1061
1061
  push: "push";
1062
- blur: "blur";
1063
1062
  fade: "fade";
1063
+ zoom: "zoom";
1064
+ blur: "blur";
1064
1065
  slide: "slide";
1065
1066
  wipe: "wipe";
1066
- zoom: "zoom";
1067
1067
  iris: "iris";
1068
1068
  dip: "dip";
1069
1069
  }>;
@@ -1079,6 +1079,8 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1079
1079
  y: z.ZodOptional<z.ZodNumber>;
1080
1080
  easing: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
1081
1081
  pop: "pop";
1082
+ land: "land";
1083
+ drift: "drift";
1082
1084
  linear: "linear";
1083
1085
  easeIn: "easeIn";
1084
1086
  easeOut: "easeOut";
@@ -1096,12 +1098,10 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1096
1098
  easeOutBack: "easeOutBack";
1097
1099
  spring: "spring";
1098
1100
  hold: "hold";
1099
- land: "land";
1100
1101
  snap: "snap";
1101
1102
  glide: "glide";
1102
1103
  move: "move";
1103
1104
  exit: "exit";
1104
- drift: "drift";
1105
1105
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
1106
1106
  }, z.core.$strip>>;
1107
1107
  camera: z.ZodOptional<z.ZodObject<{
@@ -1112,10 +1112,10 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1112
1112
  shake: z.ZodDefault<z.ZodNumber>;
1113
1113
  animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
1114
1114
  property: z.ZodEnum<{
1115
+ zoom: "zoom";
1115
1116
  x: "x";
1116
1117
  y: "y";
1117
1118
  rotation: "rotation";
1118
- zoom: "zoom";
1119
1119
  shake: "shake";
1120
1120
  }>;
1121
1121
  keyframes: z.ZodArray<z.ZodObject<{
@@ -1123,6 +1123,8 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1123
1123
  value: z.ZodNumber;
1124
1124
  easing: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1125
1125
  pop: "pop";
1126
+ land: "land";
1127
+ drift: "drift";
1126
1128
  linear: "linear";
1127
1129
  easeIn: "easeIn";
1128
1130
  easeOut: "easeOut";
@@ -1140,12 +1142,10 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1140
1142
  easeOutBack: "easeOutBack";
1141
1143
  spring: "spring";
1142
1144
  hold: "hold";
1143
- land: "land";
1144
1145
  snap: "snap";
1145
1146
  glide: "glide";
1146
1147
  move: "move";
1147
1148
  exit: "exit";
1148
- drift: "drift";
1149
1149
  }>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
1150
1150
  }, z.core.$strip>>;
1151
1151
  repeat: z.ZodOptional<z.ZodNumber>;
@@ -1184,11 +1184,11 @@ export declare const compositionJsonSchema: z.core.ZodStandardJSONSchemaPayload<
1184
1184
  grain: z.ZodDefault<z.ZodNumber>;
1185
1185
  export: z.ZodDefault<z.ZodObject<{
1186
1186
  format: z.ZodDefault<z.ZodEnum<{
1187
+ png: "png";
1187
1188
  mp4: "mp4";
1188
1189
  webm: "webm";
1189
1190
  mov: "mov";
1190
1191
  gif: "gif";
1191
- png: "png";
1192
1192
  }>>;
1193
1193
  codec: z.ZodDefault<z.ZodEnum<{
1194
1194
  h264: "h264";
@@ -0,0 +1,67 @@
1
+ import { type AiProvider, type Registry } from '../packages/ai/src/index.js';
2
+ export type Brief = {
3
+ id: string;
4
+ label: string;
5
+ width: number;
6
+ height: number;
7
+ fps?: number;
8
+ durationSeconds: number;
9
+ kind: string;
10
+ brief: string;
11
+ /** Template fields, named as the CLI's --fields option does: `name` or `name:type`. */
12
+ fields?: string[];
13
+ };
14
+ export declare const briefs: Brief[];
15
+ /** What one brief produced: small fields only, so the report stays readable; the composition is written to disk, not kept. */
16
+ export type RunRecord = {
17
+ id: string;
18
+ label: string;
19
+ route?: 'template' | 'json';
20
+ template?: string;
21
+ frames?: number;
22
+ width?: number;
23
+ height?: number;
24
+ attempts?: number;
25
+ composeSeconds?: number;
26
+ renderSeconds?: number;
27
+ reviewErrors?: number;
28
+ reviewWarnings?: string[];
29
+ reviewMessages?: string[];
30
+ fileSeconds?: number;
31
+ error?: string;
32
+ score?: Score;
33
+ };
34
+ export type Check = {
35
+ pass: boolean;
36
+ detail?: string;
37
+ };
38
+ export type Score = {
39
+ passed: boolean;
40
+ failed: string[];
41
+ checks: Record<string, Check>;
42
+ };
43
+ type RunBriefOptions = {
44
+ maxAttempts?: number;
45
+ render?: boolean;
46
+ outDir?: string;
47
+ onProgress?: (message: string) => void;
48
+ smartMode?: {
49
+ full?: boolean;
50
+ noPlan?: boolean;
51
+ registry?: Registry;
52
+ };
53
+ };
54
+ /**
55
+ * Runs one brief end to end: compose through the real router (`composeSmart`, planner included), check the result
56
+ * with the engine's review oracle, optionally render and probe the MP4. The returned record drops the composition
57
+ * payload so the report stays small; the project is written to `artifacts/eval/<id>/` for inspection either way.
58
+ */
59
+ export declare function runBrief(provider: AiProvider, brief: Brief, options?: RunBriefOptions): Promise<RunRecord>;
60
+ /**
61
+ * The standardized checks. All copy is readable means the review oracle reported no text problems; the picture moves
62
+ * means no frozen stretch was reported. Returns `{ passed, failed, checks }`, each check `{ pass, detail }`.
63
+ */
64
+ export declare function scoreRun(run: RunRecord, brief: Brief): Score;
65
+ /** The markdown row for one result. */
66
+ export declare function reportRow(run: RunRecord, score: Score): string;
67
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motionrender",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "JSON-first, frame-deterministic motion graphics video engine: render compositions to MP4, WebM, ProRes, GIF or PNG frames from Node or the command line.",
5
5
  "license": "MIT",
6
6
  "type": "module",