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.
- package/dist/cli.js +2634 -528
- package/dist/index.js +46 -1
- package/dist/player.js +13 -13
- package/dist/react.js +704 -9
- package/dist/types/packages/ai/src/agent.d.ts +57 -0
- package/dist/types/packages/ai/src/brand-scraper.d.ts +35 -0
- package/dist/types/packages/ai/src/captions.d.ts +11 -0
- package/dist/types/packages/ai/src/compose.d.ts +2 -0
- package/dist/types/packages/ai/src/edit.d.ts +69 -0
- package/dist/types/packages/ai/src/index.d.ts +8 -1
- package/dist/types/packages/ai/src/plan.d.ts +42 -0
- package/dist/types/packages/ai/src/prompt.d.ts +18 -0
- package/dist/types/packages/ai/src/providers.d.ts +35 -2
- package/dist/types/packages/ai/src/registry.d.ts +81 -0
- package/dist/types/packages/ai/src/retime.d.ts +7 -0
- package/dist/types/packages/ai/src/shorts.d.ts +75 -0
- package/dist/types/packages/cli/src/agent-cli.d.ts +15 -0
- package/dist/types/packages/cli/src/ai-studio-page.d.ts +1 -1
- package/dist/types/packages/cli/src/ai.d.ts +1 -1
- package/dist/types/packages/cli/src/build.d.ts +2 -0
- package/dist/types/packages/cli/src/templates.d.ts +13 -4
- package/dist/types/packages/contracts/src/index.d.ts +12 -12
- package/dist/types/packages/core/src/review.d.ts +24 -0
- package/dist/types/packages/ffmpeg/src/index.d.ts +1 -0
- package/dist/types/packages/jobs/src/queue.d.ts +2 -2
- package/dist/types/packages/jobs/src/redis.d.ts +2 -2
- package/dist/types/packages/react/src/components.d.ts +166 -0
- package/dist/types/packages/react/src/index.d.ts +54 -2
- package/dist/types/packages/react/src/springs.d.ts +25 -0
- package/dist/types/packages/schema/src/captions.d.ts +2 -0
- package/dist/types/packages/schema/src/index.d.ts +66 -66
- package/dist/types/scripts/eval-briefs.d.ts +67 -0
- package/package.json +1 -1
- package/skills/ove/SKILL.md +40 -2
- package/skills/ove-agent/SKILL.md +144 -0
- package/skills/ove-code-video/SKILL.md +17 -9
- package/skills/ove-motion-graphics/SKILL.md +113 -0
- package/skills/ove-react-video/SKILL.md +212 -0
- package/skills/ove-remotion/SKILL.md +122 -0
- package/studio/assets/index-DmZj9wTZ.css +1 -0
- package/studio/assets/index-n3DJI_GV.js +10 -0
- package/studio/index.html +2 -2
- package/templates/case-study/composition.json +25 -10
- package/templates/event-invite/composition.json +12 -2
- package/templates/explainer-square/composition.json +1 -1
- package/templates/keynote-wide/composition.json +2 -2
- package/templates/kinetic-reel/composition.json +73 -0
- package/templates/kinetic-reel/composition.schema.json +9295 -0
- package/templates/kinetic-reel/template.json +17 -0
- package/templates/kinetic-reel/video.bundle.js +72 -0
- package/templates/kinetic-reel/video.tsx +283 -0
- package/templates/product-card/composition.json +7 -2
- package/templates/product-wide/composition.json +1 -1
- package/templates/quote-card/composition.json +6 -1
- package/templates/saas-launch/composition.json +70 -0
- package/templates/saas-launch/composition.schema.json +9295 -0
- package/templates/saas-launch/template.json +16 -0
- package/templates/saas-launch/video.bundle.js +72 -0
- package/templates/saas-launch/video.tsx +217 -0
- package/templates/sale-promo/composition.json +16 -1
- package/templates/showcase-tall/composition.json +4 -4
- package/templates/slideshow/composition.json +1 -1
- package/templates/social-reel/composition.json +19 -4
- package/templates/story-tall/composition.json +1 -1
- package/studio/assets/index-CzOvWv9w.css +0 -1
- package/studio/assets/index-J_fvKgng.js +0 -11
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
import { type SpringPreset } from './springs.js';
|
|
3
|
+
export type AmbientGlowOrb = {
|
|
4
|
+
x: number | string;
|
|
5
|
+
y: number | string;
|
|
6
|
+
size?: number | string;
|
|
7
|
+
color: string;
|
|
8
|
+
opacity?: number;
|
|
9
|
+
speed?: number;
|
|
10
|
+
phase?: number;
|
|
11
|
+
};
|
|
12
|
+
export type AmbientGlowProps = {
|
|
13
|
+
orbs?: AmbientGlowOrb[];
|
|
14
|
+
style?: CSSProperties;
|
|
15
|
+
blur?: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Creates atmospheric floating light orbs with gentle sine wave drift.
|
|
19
|
+
*/
|
|
20
|
+
export declare function AmbientGlow({ orbs, style, blur, }: AmbientGlowProps): ReactElement;
|
|
21
|
+
export type GlassCardProps = {
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
style?: CSSProperties;
|
|
24
|
+
delay?: number;
|
|
25
|
+
preset?: SpringPreset;
|
|
26
|
+
interactive?: boolean;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Modern frosted-glass surface with smooth spring entry and border highlight.
|
|
30
|
+
*/
|
|
31
|
+
export declare function GlassCard({ children, style, delay, preset, }: GlassCardProps): ReactElement;
|
|
32
|
+
export type WordTrigger = {
|
|
33
|
+
word: string;
|
|
34
|
+
frame: number;
|
|
35
|
+
};
|
|
36
|
+
export type KineticTextProps = {
|
|
37
|
+
text: string;
|
|
38
|
+
delay?: number;
|
|
39
|
+
staggerDelay?: number;
|
|
40
|
+
preset?: SpringPreset;
|
|
41
|
+
style?: CSSProperties;
|
|
42
|
+
wordStyle?: CSSProperties;
|
|
43
|
+
wordTriggers?: WordTrigger[];
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Staggered kinetic typography reveal with spring physics on every word.
|
|
47
|
+
* Supports optional per-word frame triggers (from narration timestamps) via `wordTriggers`.
|
|
48
|
+
*/
|
|
49
|
+
export declare function KineticText({ text, delay, staggerDelay, preset, style, wordStyle, wordTriggers, }: KineticTextProps): ReactElement;
|
|
50
|
+
export type NumberTickerProps = {
|
|
51
|
+
value: number;
|
|
52
|
+
from?: number;
|
|
53
|
+
prefix?: string;
|
|
54
|
+
suffix?: string;
|
|
55
|
+
decimals?: number;
|
|
56
|
+
delay?: number;
|
|
57
|
+
duration?: number;
|
|
58
|
+
preset?: SpringPreset;
|
|
59
|
+
style?: CSSProperties;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Animated metric and counter ticker with spring easing and clean number formatting.
|
|
63
|
+
*/
|
|
64
|
+
export declare function NumberTicker({ value, from, prefix, suffix, decimals, delay, preset, style, }: NumberTickerProps): ReactElement;
|
|
65
|
+
export type BadgeProps = {
|
|
66
|
+
children?: ReactNode;
|
|
67
|
+
dot?: boolean;
|
|
68
|
+
dotColor?: string;
|
|
69
|
+
delay?: number;
|
|
70
|
+
style?: CSSProperties;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* SaaS pill badge with status indicator and subtle entrance spring.
|
|
74
|
+
*/
|
|
75
|
+
export declare function Badge({ children, dot, dotColor, delay, style, }: BadgeProps): ReactElement;
|
|
76
|
+
export type DeviceFrameProps = {
|
|
77
|
+
children?: ReactNode;
|
|
78
|
+
title?: string;
|
|
79
|
+
url?: string;
|
|
80
|
+
delay?: number;
|
|
81
|
+
style?: CSSProperties;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Modern browser window frame with macOS traffic light controls and subtle 3D perspective tilt.
|
|
85
|
+
*/
|
|
86
|
+
export declare function DeviceFrame({ children, title, url, delay, style, }: DeviceFrameProps): ReactElement;
|
|
87
|
+
export type ProgressBarProps = {
|
|
88
|
+
value: number;
|
|
89
|
+
delay?: number;
|
|
90
|
+
color?: string;
|
|
91
|
+
height?: number;
|
|
92
|
+
style?: CSSProperties;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Animated progress bar with glowing fill.
|
|
96
|
+
*/
|
|
97
|
+
export declare function ProgressBar({ value, delay, color, height, style, }: ProgressBarProps): ReactElement;
|
|
98
|
+
export type BentoGridProps = {
|
|
99
|
+
columns?: number | string;
|
|
100
|
+
gap?: number | string;
|
|
101
|
+
style?: CSSProperties;
|
|
102
|
+
children?: ReactNode;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Responsive Bento Grid container for modular layout design.
|
|
106
|
+
*/
|
|
107
|
+
export declare function BentoGrid({ columns, gap, style, children, }: BentoGridProps): ReactElement;
|
|
108
|
+
export type BentoCardProps = {
|
|
109
|
+
colSpan?: number | string;
|
|
110
|
+
rowSpan?: number | string;
|
|
111
|
+
title?: ReactNode;
|
|
112
|
+
subtitle?: ReactNode;
|
|
113
|
+
badge?: ReactNode;
|
|
114
|
+
icon?: ReactNode;
|
|
115
|
+
delay?: number;
|
|
116
|
+
preset?: SpringPreset;
|
|
117
|
+
glowColor?: string;
|
|
118
|
+
style?: CSSProperties;
|
|
119
|
+
children?: ReactNode;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Modern glassmorphic Bento card with spring reveal and optional title/badge/icon.
|
|
123
|
+
*/
|
|
124
|
+
export declare function BentoCard({ colSpan, rowSpan, title, subtitle, badge, icon, delay, preset, glowColor, style, children, }: BentoCardProps): ReactElement;
|
|
125
|
+
export type TypewriterProps = {
|
|
126
|
+
text: string;
|
|
127
|
+
delay?: number;
|
|
128
|
+
speed?: number;
|
|
129
|
+
cursor?: boolean;
|
|
130
|
+
cursorChar?: string;
|
|
131
|
+
cursorBlinkSpeed?: number;
|
|
132
|
+
style?: CSSProperties;
|
|
133
|
+
cursorStyle?: CSSProperties;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Typewriter text effect with animated typing cursor and blinking cursor.
|
|
137
|
+
*/
|
|
138
|
+
export declare function Typewriter({ text, delay, speed, cursor, cursorChar, cursorBlinkSpeed, style, cursorStyle, }: TypewriterProps): ReactElement;
|
|
139
|
+
export type WaveformProps = {
|
|
140
|
+
bars?: number;
|
|
141
|
+
height?: number;
|
|
142
|
+
color?: string;
|
|
143
|
+
activeColor?: string;
|
|
144
|
+
speed?: number;
|
|
145
|
+
delay?: number;
|
|
146
|
+
preset?: SpringPreset;
|
|
147
|
+
style?: CSSProperties;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Animated dynamic waveform audio visualizer bars.
|
|
151
|
+
*/
|
|
152
|
+
export declare function Waveform({ bars, height, color, activeColor, speed, delay, preset, style, }: WaveformProps): ReactElement;
|
|
153
|
+
export type CodeEditorProps = {
|
|
154
|
+
filename?: string;
|
|
155
|
+
code: string;
|
|
156
|
+
language?: string;
|
|
157
|
+
delay?: number;
|
|
158
|
+
highlightLines?: number[];
|
|
159
|
+
showLineNumbers?: boolean;
|
|
160
|
+
preset?: SpringPreset;
|
|
161
|
+
style?: CSSProperties;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Developer code terminal / editor card with line numbers and active glow.
|
|
165
|
+
*/
|
|
166
|
+
export declare function CodeEditor({ filename, code, language, delay, highlightLines, showLineNumbers, preset, style, }: CodeEditorProps): ReactElement;
|
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
import { type CSSProperties, type HTMLAttributes, type ImgHTMLAttributes, type ReactElement, type ReactNode } from 'react';
|
|
2
|
-
import { interpolate
|
|
3
|
-
export { interpolate
|
|
2
|
+
import { interpolate } from '../../builder/src/index.js';
|
|
3
|
+
export { interpolate };
|
|
4
|
+
/**
|
|
5
|
+
* Calculates spring physics animation value. Fully compatible with both Remotion and Open Video Engine options.
|
|
6
|
+
*/
|
|
7
|
+
export declare function spring(options: {
|
|
8
|
+
frame: number;
|
|
9
|
+
fps?: number;
|
|
10
|
+
damping?: number;
|
|
11
|
+
stiffness?: number;
|
|
12
|
+
mass?: number;
|
|
13
|
+
from?: number;
|
|
14
|
+
to?: number;
|
|
15
|
+
durationInFrames?: number;
|
|
16
|
+
config?: {
|
|
17
|
+
damping?: number;
|
|
18
|
+
stiffness?: number;
|
|
19
|
+
mass?: number;
|
|
20
|
+
overshootClamping?: boolean;
|
|
21
|
+
};
|
|
22
|
+
}): number;
|
|
23
|
+
export * from './springs.js';
|
|
24
|
+
export * from './components.js';
|
|
4
25
|
export type VideoConfig = {
|
|
5
26
|
id?: string;
|
|
6
27
|
width: number;
|
|
@@ -74,3 +95,34 @@ export declare const Easing: {
|
|
|
74
95
|
};
|
|
75
96
|
/** A number from 0 up to 1 that is the same for the same seed on every render (Math.random is not). */
|
|
76
97
|
export declare function random(seed: string | number): number;
|
|
98
|
+
/** Resolves asset paths like staticFile('logo.png') in Remotion-compatible projects. */
|
|
99
|
+
export declare const staticFile: (src: string) => string;
|
|
100
|
+
/** Loops its children every `durationInFrames` frames. */
|
|
101
|
+
export declare function Loop({ durationInFrames, times, children }: {
|
|
102
|
+
durationInFrames: number;
|
|
103
|
+
times?: number;
|
|
104
|
+
children?: ReactNode;
|
|
105
|
+
}): ReactElement | null;
|
|
106
|
+
/** Freezes the frame value for its children at a specific frame number. */
|
|
107
|
+
export declare function Freeze({ frame, children }: {
|
|
108
|
+
frame?: number;
|
|
109
|
+
children?: ReactNode;
|
|
110
|
+
}): ReactElement;
|
|
111
|
+
export type CompositionProps<T = Record<string, unknown>> = {
|
|
112
|
+
id: string;
|
|
113
|
+
component: React.ComponentType<T>;
|
|
114
|
+
durationInFrames: number;
|
|
115
|
+
fps?: number;
|
|
116
|
+
width?: number;
|
|
117
|
+
height?: number;
|
|
118
|
+
defaultProps?: T;
|
|
119
|
+
};
|
|
120
|
+
/** Remotion-compatible Composition declaration component. */
|
|
121
|
+
export declare function Composition<T = Record<string, unknown>>(props: CompositionProps<T>): ReactElement | null;
|
|
122
|
+
/** Remotion-compatible Folder component for organizing compositions. */
|
|
123
|
+
export declare function Folder({ children }: {
|
|
124
|
+
name: string;
|
|
125
|
+
children?: ReactNode;
|
|
126
|
+
}): ReactElement;
|
|
127
|
+
/** Remotion-compatible Still component for static image frames. */
|
|
128
|
+
export declare function Still<T = Record<string, unknown>>(props: Omit<CompositionProps<T>, 'durationInFrames'>): ReactElement | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type SpringPreset = 'bouncy' | 'snappy' | 'smooth' | 'wobbly' | 'gentle';
|
|
2
|
+
export declare const springPresets: Record<SpringPreset, {
|
|
3
|
+
damping: number;
|
|
4
|
+
stiffness: number;
|
|
5
|
+
mass: number;
|
|
6
|
+
}>;
|
|
7
|
+
export type SpringOptions = {
|
|
8
|
+
frame: number;
|
|
9
|
+
fps?: number;
|
|
10
|
+
preset?: SpringPreset;
|
|
11
|
+
damping?: number;
|
|
12
|
+
stiffness?: number;
|
|
13
|
+
mass?: number;
|
|
14
|
+
from?: number;
|
|
15
|
+
to?: number;
|
|
16
|
+
delay?: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Calculates a spring animation value from a frame with preset or custom damping physics.
|
|
20
|
+
*/
|
|
21
|
+
export declare function springValue(options: SpringOptions): number;
|
|
22
|
+
/**
|
|
23
|
+
* Calculates the frame offset for staggered item animations in a list.
|
|
24
|
+
*/
|
|
25
|
+
export declare function stagger(index: number, framesPerItem?: number, startDelay?: number): number;
|
|
@@ -19,6 +19,8 @@ export type CaptionCue = z.infer<typeof captionCueSchema>;
|
|
|
19
19
|
export declare function groupCaptionWords(words: CaptionWord[], maxWords?: number): CaptionCue[];
|
|
20
20
|
export declare function parseCaptions(text: string, name?: string, maxWords?: number): CaptionCue[];
|
|
21
21
|
export declare function formatCaptions(cues: CaptionCue[], format: 'srt' | 'vtt'): string;
|
|
22
|
+
declare const fillers: Set<string>;
|
|
23
|
+
export { fillers };
|
|
22
24
|
export declare const captionKey: (word: string) => string;
|
|
23
25
|
export declare function dropFillerWords(cues: CaptionCue[]): CaptionCue[];
|
|
24
26
|
export declare const captionLines: (cues: CaptionCue[], maxWords: number) => CaptionCue[];
|