@evatril/video-templates 2.0.11 → 2.0.12
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/package.json +1 -1
- package/src/Invitations/Elements/SideTrees20012026.jsx +3 -3
- package/src/Invitations/Frames/F20012026_01.jsx +1 -1
- package/src/Invitations/Frames/F20012026_02.jsx +72 -9
- package/src/Invitations/Frames/F20012026_03.jsx +1 -0
- package/src/Invitations/Frames/F20012026_04.jsx +1 -0
- package/src/Invitations/Themes/T03022026_01.jsx +1 -1
- package/src/Invitations/Themes/T05022026_01.jsx +1 -1
- package/src/Invitations/Themes/T20012026_01.jsx +3 -3
- package/src/Invitations/Themes/T28012026_01.jsx +1 -1
- package/src/compositions.jsx +8 -8
package/package.json
CHANGED
|
@@ -42,7 +42,7 @@ export const SideTrees20012026 = ({ startAfter = 1 }) => {
|
|
|
42
42
|
const rightTreeX = interpolate(
|
|
43
43
|
frame,
|
|
44
44
|
[delay, delay + duration],
|
|
45
|
-
[600,
|
|
45
|
+
[600, 200],
|
|
46
46
|
{
|
|
47
47
|
extrapolateLeft: "clamp",
|
|
48
48
|
extrapolateRight: "clamp",
|
|
@@ -75,12 +75,12 @@ export const SideTrees20012026 = ({ startAfter = 1 }) => {
|
|
|
75
75
|
|
|
76
76
|
{/* 🌳 RIGHT TREE */}
|
|
77
77
|
<Img
|
|
78
|
-
src={staticFile("video-images/20012026-tree-
|
|
78
|
+
src={staticFile("video-images/20012026-tree-right1.png")}
|
|
79
79
|
style={{
|
|
80
80
|
position: "absolute",
|
|
81
81
|
right: 0,
|
|
82
82
|
bottom: "-25%",
|
|
83
|
-
height: "
|
|
83
|
+
height: "80%",
|
|
84
84
|
opacity,
|
|
85
85
|
transform: `
|
|
86
86
|
translateX(${rightTreeX - leafSway}px)
|
|
@@ -58,6 +58,49 @@ export const F20012026_02 = ({
|
|
|
58
58
|
{ extrapolateRight: "clamp", easing: Easing.out(Easing.ease) }
|
|
59
59
|
);
|
|
60
60
|
|
|
61
|
+
/* ================= PEACOCK ANIMATION ================= */
|
|
62
|
+
|
|
63
|
+
const peacockTranslateY = interpolate(
|
|
64
|
+
frame,
|
|
65
|
+
[showImageAfter, showImageAfter + fps],
|
|
66
|
+
[40, 0], // moves slightly upward while appearing
|
|
67
|
+
{
|
|
68
|
+
extrapolateRight: "clamp",
|
|
69
|
+
easing: Easing.out(Easing.ease),
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
/* ================= PEACOCK WALK ANIMATION ================= */
|
|
74
|
+
|
|
75
|
+
const walkStart = showImageAfter;
|
|
76
|
+
/* ================= PEACOCK HEAD + FEATHER SWING ================= */
|
|
77
|
+
|
|
78
|
+
// Head swing (faster small movement)
|
|
79
|
+
const headSwing = Math.sin(frame * 0.12) * 1;
|
|
80
|
+
// -4° to +4° rotation
|
|
81
|
+
|
|
82
|
+
// Feather sway (slow royal movement)
|
|
83
|
+
const featherSwing = Math.sin(frame * 0.06) * 6;
|
|
84
|
+
// -6px to +6px movement
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
// Small bounce for walking feel
|
|
88
|
+
const peacockBounce = interpolate(
|
|
89
|
+
frame,
|
|
90
|
+
[walkStart, walkStart + fps * 0.3, walkStart + fps * 0.6, walkStart + fps * 0.9],
|
|
91
|
+
[0, -6, 0, -6],
|
|
92
|
+
{ extrapolateRight: "clamp" }
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
// Fade in same time as curtain
|
|
96
|
+
const peacockOpacity = interpolate(
|
|
97
|
+
frame,
|
|
98
|
+
[showImageAfter, showImageAfter + fps],
|
|
99
|
+
[0, 1],
|
|
100
|
+
{ extrapolateRight: "clamp" }
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
|
|
61
104
|
return (
|
|
62
105
|
<AbsoluteFill
|
|
63
106
|
style={{
|
|
@@ -70,18 +113,38 @@ export const F20012026_02 = ({
|
|
|
70
113
|
src={staticFile("video-images/20012026-curtain-floral3.webp")}
|
|
71
114
|
style={{
|
|
72
115
|
position: "absolute",
|
|
73
|
-
top:"-
|
|
116
|
+
top: "-14%",
|
|
74
117
|
left: "50%",
|
|
75
118
|
width: "100%",
|
|
119
|
+
height: "100%",
|
|
76
120
|
opacity: imageOpacity,
|
|
77
121
|
transform: `translateX(-50%) scale(${imageScale})`,
|
|
78
122
|
willChange: "transform, opacity",
|
|
79
123
|
}}
|
|
80
124
|
/>
|
|
81
125
|
|
|
126
|
+
{/* Peacock */}
|
|
127
|
+
<Img
|
|
128
|
+
src={staticFile("video-images/20012026-peacock2.png")}
|
|
129
|
+
style={{
|
|
130
|
+
position: "absolute",
|
|
131
|
+
bottom: "8%",
|
|
132
|
+
width: "100%",
|
|
133
|
+
opacity: peacockOpacity,
|
|
134
|
+
transform: `
|
|
135
|
+
translateY(${peacockBounce}px)
|
|
136
|
+
translateX(${featherSwing}px)
|
|
137
|
+
rotate(${headSwing}deg)
|
|
138
|
+
`,
|
|
139
|
+
transformOrigin: "bottom center",
|
|
140
|
+
willChange: "transform, opacity",
|
|
141
|
+
}}
|
|
142
|
+
/>
|
|
143
|
+
|
|
144
|
+
|
|
82
145
|
{/* Decorations */}
|
|
83
|
-
<SideTrees20012026 startAfter={2} />
|
|
84
|
-
<PeacockDance20012026 startAfter={3} />
|
|
146
|
+
{/* <SideTrees20012026 startAfter={2} />
|
|
147
|
+
<PeacockDance20012026 startAfter={3} /> */}
|
|
85
148
|
|
|
86
149
|
{/* Content */}
|
|
87
150
|
<div
|
|
@@ -128,11 +191,11 @@ export const F20012026_02 = ({
|
|
|
128
191
|
fontFamily: "Dancing Script",
|
|
129
192
|
color: "#B87A6A",
|
|
130
193
|
fontSize: 35,
|
|
131
|
-
maxWidth:"70%",
|
|
194
|
+
maxWidth: "70%",
|
|
132
195
|
...SmoothRevealFromTop20012026({ frame, startFrame: DETAILS_START, delay: 50 }),
|
|
133
196
|
}}
|
|
134
197
|
>
|
|
135
|
-
{firstSideNote}
|
|
198
|
+
{firstSideNote}
|
|
136
199
|
</div>
|
|
137
200
|
|
|
138
201
|
<div
|
|
@@ -156,7 +219,7 @@ export const F20012026_02 = ({
|
|
|
156
219
|
...SmoothRevealFromTop20012026({ frame, startFrame: DETAILS_START, delay: 95 }),
|
|
157
220
|
}}
|
|
158
221
|
>
|
|
159
|
-
{secondName}
|
|
222
|
+
{secondName}
|
|
160
223
|
</h1>
|
|
161
224
|
|
|
162
225
|
<div
|
|
@@ -164,11 +227,11 @@ export const F20012026_02 = ({
|
|
|
164
227
|
fontFamily: "Dancing Script",
|
|
165
228
|
color: "#B87A6A",
|
|
166
229
|
fontSize: 35,
|
|
167
|
-
maxWidth:"70%",
|
|
230
|
+
maxWidth: "70%",
|
|
168
231
|
...SmoothRevealFromTop20012026({ frame, startFrame: DETAILS_START, delay: 120 }),
|
|
169
232
|
}}
|
|
170
233
|
>
|
|
171
|
-
{secondSideNote}
|
|
234
|
+
{secondSideNote}
|
|
172
235
|
</div>
|
|
173
236
|
|
|
174
237
|
<div
|
|
@@ -180,7 +243,7 @@ export const F20012026_02 = ({
|
|
|
180
243
|
<div
|
|
181
244
|
style={{
|
|
182
245
|
fontSize: 40,
|
|
183
|
-
fontWeight:"400",
|
|
246
|
+
fontWeight: "400",
|
|
184
247
|
fontFamily: "Great Vibes",
|
|
185
248
|
color: "#2F6B4F",
|
|
186
249
|
}}
|
|
@@ -140,7 +140,7 @@ export const T20012026_01 = ({
|
|
|
140
140
|
inset: 0,
|
|
141
141
|
width: "100%",
|
|
142
142
|
height: "100%",
|
|
143
|
-
objectFit: "cover",
|
|
143
|
+
objectFit: "cover",
|
|
144
144
|
}}
|
|
145
145
|
/>
|
|
146
146
|
{children}
|
|
@@ -150,7 +150,7 @@ export const T20012026_01 = ({
|
|
|
150
150
|
const backgrounds = useMemo(
|
|
151
151
|
() => [
|
|
152
152
|
staticFile("video-images/20012026-bg.webp"),
|
|
153
|
-
staticFile("video-images/20012026-bg-
|
|
153
|
+
staticFile("video-images/20012026-bg-3.png"),
|
|
154
154
|
],
|
|
155
155
|
[]
|
|
156
156
|
);
|
|
@@ -257,4 +257,4 @@ export const T20012026_01 = ({
|
|
|
257
257
|
);
|
|
258
258
|
};
|
|
259
259
|
|
|
260
|
-
T20012026_01.duration =
|
|
260
|
+
T20012026_01.duration = 30 * 40;
|
package/src/compositions.jsx
CHANGED
|
@@ -11,32 +11,32 @@ export const VideoCompositions = () => {
|
|
|
11
11
|
<Composition
|
|
12
12
|
id="T20012026-01"
|
|
13
13
|
component={T20012026_01}
|
|
14
|
-
fps={
|
|
15
|
-
durationInFrames={
|
|
14
|
+
fps={30}
|
|
15
|
+
durationInFrames={30 * 30}
|
|
16
16
|
width={1080}
|
|
17
17
|
height={1920}
|
|
18
18
|
/>
|
|
19
19
|
<Composition
|
|
20
20
|
id="T28012026-01"
|
|
21
21
|
component={T28012026_01}
|
|
22
|
-
fps={
|
|
23
|
-
durationInFrames={
|
|
22
|
+
fps={30}
|
|
23
|
+
durationInFrames={30 * 37}
|
|
24
24
|
width={1080}
|
|
25
25
|
height={1920}
|
|
26
26
|
/>
|
|
27
27
|
<Composition
|
|
28
28
|
id="T03022026-01"
|
|
29
29
|
component={T03022026_01}
|
|
30
|
-
fps={
|
|
31
|
-
durationInFrames={
|
|
30
|
+
fps={30}
|
|
31
|
+
durationInFrames={30 * 38}
|
|
32
32
|
width={1080}
|
|
33
33
|
height={1920}
|
|
34
34
|
/>
|
|
35
35
|
<Composition
|
|
36
36
|
id="T05022026-01"
|
|
37
37
|
component={T05022026_01}
|
|
38
|
-
fps={
|
|
39
|
-
durationInFrames={
|
|
38
|
+
fps={30}
|
|
39
|
+
durationInFrames={30 * 30}
|
|
40
40
|
width={1080}
|
|
41
41
|
height={1920}
|
|
42
42
|
/>
|