@evatril/video-templates 2.0.9 → 2.0.11

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 (58) hide show
  1. package/package.json +1 -1
  2. package/public/video-images/03022026-bg.webp +0 -0
  3. package/public/video-images/03022026-krishnaradha-2.webp +0 -0
  4. package/public/video-images/03022026-krishnaradha-4.webp +0 -0
  5. package/public/video-images/03022026-krishnaradha-5.webp +0 -0
  6. package/public/video-images/03022026-krishnaradha.webp +0 -0
  7. package/public/video-images/05022026-Duck.webp +0 -0
  8. package/public/video-images/05022026-Flower.webp +0 -0
  9. package/public/video-images/05022026-Ganesh.webp +0 -0
  10. package/public/video-images/05022026-HangingJumar.webp +0 -0
  11. package/public/video-images/05022026-HangingLamps.webp +0 -0
  12. package/public/video-images/05022026-LeftPeacock.webp +0 -0
  13. package/public/video-images/05022026-Nameplate.webp +0 -0
  14. package/public/video-images/05022026-bg-2.webp +0 -0
  15. package/public/video-images/05022026-bg-3.webp +0 -0
  16. package/public/video-images/05022026-bg-4.webp +0 -0
  17. package/public/video-images/05022026-bg.webp +0 -0
  18. package/public/video-images/20012026-bg.webp +0 -0
  19. package/public/video-images/20012026-bride.webp +0 -0
  20. package/public/video-images/20012026-butterfly.webp +0 -0
  21. package/public/video-images/20012026-couple-walk.webp +0 -0
  22. package/public/video-images/20012026-curtain-floral.webp +0 -0
  23. package/public/video-images/20012026-floral-left.webp +0 -0
  24. package/public/video-images/20012026-floral-right.webp +0 -0
  25. package/public/video-images/20012026-groom.webp +0 -0
  26. package/public/video-images/20012026-opening-gate.webp +0 -0
  27. package/public/video-images/20012026-peacock.webp +0 -0
  28. package/public/video-images/20012026-tree-left.webp +0 -0
  29. package/public/video-images/20012026-tree-right.webp +0 -0
  30. package/public/video-images/20012026-wedding-gate.webp +0 -0
  31. package/public/video-images/28012026-Heart.webp +0 -0
  32. package/public/video-images/28012026-PinkLeaf.webp +0 -0
  33. package/src/Invitations/Elements/BlowingLeaves28012026.jsx +28 -22
  34. package/src/Invitations/Elements/CoupleWalk20012026.jsx +2 -2
  35. package/src/Invitations/Elements/FlowerReveal_TL_BR_28012026.jsx +2 -3
  36. package/src/Invitations/Elements/FlowersSide20012026.jsx +45 -52
  37. package/src/Invitations/Elements/GroomBrideLoveScene20012026.jsx +27 -28
  38. package/src/Invitations/Elements/HeartFlight28012026.jsx +91 -4
  39. package/src/Invitations/Elements/PeacockDance20012026.jsx +1 -1
  40. package/src/Invitations/Elements/SideTrees20012026.jsx +11 -23
  41. package/src/Invitations/Frames/F03022026_01.jsx +4 -5
  42. package/src/Invitations/Frames/F03022026_02.jsx +2 -4
  43. package/src/Invitations/Frames/F03022026_03.jsx +2 -3
  44. package/src/Invitations/Frames/F03022026_04.jsx +2 -3
  45. package/src/Invitations/Frames/F03022026_05.jsx +5 -5
  46. package/src/Invitations/Frames/F05022026_01.jsx +2 -2
  47. package/src/Invitations/Frames/F20012026_01.jsx +58 -8
  48. package/src/Invitations/Frames/F20012026_02.jsx +3 -2
  49. package/src/Invitations/Frames/F20012026_03.jsx +191 -207
  50. package/src/Invitations/Frames/F20012026_04.jsx +282 -0
  51. package/src/Invitations/Frames/F28012026_03.jsx +1 -1
  52. package/src/Invitations/Frames/F28012026_04.jsx +1 -2
  53. package/src/Invitations/Themes/T03022026_01.jsx +21 -20
  54. package/src/Invitations/Themes/T05022026_01.jsx +3 -3
  55. package/src/Invitations/Themes/T20012026_01.jsx +70 -42
  56. package/src/Invitations/Themes/T28012026_01.jsx +4 -3
  57. package/src/compositions.jsx +8 -8
  58. package/src/fonts/registerFonts.js +3 -8
@@ -31,7 +31,7 @@ export const SideTrees20012026 = ({ startAfter = 1 }) => {
31
31
  const leftTreeX = interpolate(
32
32
  frame,
33
33
  [delay, delay + duration],
34
- [-600, -380], // hidden → edge
34
+ [-600, -370],
35
35
  {
36
36
  extrapolateLeft: "clamp",
37
37
  extrapolateRight: "clamp",
@@ -42,7 +42,7 @@ export const SideTrees20012026 = ({ startAfter = 1 }) => {
42
42
  const rightTreeX = interpolate(
43
43
  frame,
44
44
  [delay, delay + duration],
45
- [600, 380], // hidden → edge
45
+ [600, 400],
46
46
  {
47
47
  extrapolateLeft: "clamp",
48
48
  extrapolateRight: "clamp",
@@ -50,53 +50,41 @@ export const SideTrees20012026 = ({ startAfter = 1 }) => {
50
50
  }
51
51
  );
52
52
 
53
- /* ---------------- 🌬️ TREE SWING (WIND) ---------------- */
54
- const swingSpeed = 20; // higher = slower swing
55
- const swingAngle = 2; // degrees (keep small)
56
-
57
- const swing =
58
- frame > delay
59
- ? Math.sin((frame - delay) / swingSpeed) * swingAngle
60
- : 0;
61
-
62
- const swayX =
53
+ /* ---------------- 🍃 LEAF SWAY ONLY ---------------- */
54
+ const leafSway =
63
55
  frame > delay
64
- ? Math.sin((frame - delay) / (swingSpeed * 1.3)) * 6
56
+ ? Math.sin((frame - delay) / 28) * 8 // adjust 8 for more/less sway
65
57
  : 0;
66
58
 
67
59
  return (
68
60
  <>
69
61
  {/* 🌳 LEFT TREE */}
70
62
  <Img
71
- src={staticFile("video-images/20012026-tree-left.png")}
63
+ src={staticFile("video-images/20012026-tree-left1.webp")}
72
64
  style={{
73
65
  position: "absolute",
74
66
  left: 0,
75
67
  bottom: 0,
76
- height: "100%",
68
+ width: "100%",
77
69
  opacity,
78
70
  transform: `
79
- translateX(${leftTreeX + swayX}px)
80
- rotate(${swing}deg)
71
+ translateX(${leftTreeX + leafSway}px)
81
72
  `,
82
- transformOrigin: "bottom left", // 🌳 root fixed
83
73
  }}
84
74
  />
85
75
 
86
76
  {/* 🌳 RIGHT TREE */}
87
77
  <Img
88
- src={staticFile("video-images/20012026-tree-right.png")}
78
+ src={staticFile("video-images/20012026-tree-right2.webp")}
89
79
  style={{
90
80
  position: "absolute",
91
81
  right: 0,
92
- bottom: 0,
82
+ bottom: "-25%",
93
83
  height: "100%",
94
84
  opacity,
95
85
  transform: `
96
- translateX(${rightTreeX - swayX}px)
97
- rotate(${-swing}deg)
86
+ translateX(${rightTreeX - leafSway}px)
98
87
  `,
99
- transformOrigin: "bottom right", // 🌳 root fixed
100
88
  }}
101
89
  />
102
90
  </>
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import {
3
3
  AbsoluteFill,
4
4
  Img,
5
- staticFile,
6
5
  useCurrentFrame,
7
6
  useVideoConfig,
8
7
  interpolate,
@@ -64,7 +63,7 @@ export const F03022026_01 = () => {
64
63
  // Scene timing
65
64
  const sceneDuration = fps * 5;
66
65
 
67
- // Exit starts near end
66
+ // Exit starts near end
68
67
  const exitStart = sceneDuration - fps * 1;
69
68
 
70
69
  // Wedding exit
@@ -151,10 +150,10 @@ export const F03022026_01 = () => {
151
150
  }}
152
151
  >
153
152
  <Img
154
- src={staticFile("video-images/03022026-krishnaradha.webp")}
153
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/03022026-krishnaradha.webp"
155
154
  style={{
156
155
  position: "absolute",
157
- top: "32%",
156
+ top: "40%",
158
157
  left: "50%",
159
158
  width: "80%",
160
159
  objectFit: "cover",
@@ -211,4 +210,4 @@ export const F03022026_01 = () => {
211
210
 
212
211
  </AbsoluteFill>
213
212
  );
214
- };
213
+ };
@@ -6,7 +6,6 @@ import {
6
6
  useVideoConfig,
7
7
  interpolate,
8
8
  Easing,
9
- staticFile,
10
9
  } from "remotion";
11
10
  import { WordReveal28012026 } from "../Elements/WordReveal28012026";
12
11
 
@@ -153,7 +152,6 @@ export const F03022026_02 = ({
153
152
  overflow: "hidden",
154
153
  }}
155
154
  >
156
-
157
155
  <div
158
156
  style={{
159
157
  position: "absolute",
@@ -164,7 +162,7 @@ export const F03022026_02 = ({
164
162
  }}
165
163
  >
166
164
  <Img
167
- src={staticFile("video-images/03022026-krishnaradha-2.webp")}
165
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/03022026-krishnaradha-2.webp"
168
166
  style={{
169
167
  position: "absolute",
170
168
  bottom: "-15%",
@@ -202,7 +200,7 @@ export const F03022026_02 = ({
202
200
  overflowWrap: "break-word",
203
201
  lineHeight: "1.2",
204
202
  }}
205
- >
203
+ >
206
204
  <h1
207
205
  style={{
208
206
  fontFamily: "Dancing Script",
@@ -6,7 +6,6 @@ import {
6
6
  interpolate,
7
7
  Easing,
8
8
  Img,
9
- staticFile,
10
9
  } from "remotion";
11
10
 
12
11
  export const F03022026_03 = ({
@@ -254,11 +253,11 @@ export const F03022026_03 = ({
254
253
 
255
254
  {secondPhoto && (
256
255
  <div
257
- style={{
256
+ style={{
258
257
  position: "absolute",
259
258
  bottom: "10%",
260
259
  right: "8%",
261
- width: 420,
260
+ width: 420,
262
261
  height: 420,
263
262
  zIndex: 2,
264
263
  transform: `translateX(${secondPhotoX + exitRightX}px)`,
@@ -6,7 +6,6 @@ import {
6
6
  interpolate,
7
7
  Easing,
8
8
  Img,
9
- staticFile,
10
9
  } from "remotion";
11
10
 
12
11
  export const F03022026_04 = ({
@@ -171,12 +170,12 @@ export const F03022026_04 = ({
171
170
  }}
172
171
  >
173
172
  <Img
174
- src={staticFile("video-images/03022026-krishnaradha-4.webp")}
173
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/03022026-krishnaradha-4.webp"
175
174
  style={{
176
175
  position: "absolute",
177
176
  left: "50%",
178
177
  bottom: "-12%",
179
- width: "80%",
178
+ width: "80%",
180
179
  transform: `
181
180
  translate(-50%, ${translateY}px)
182
181
  translateX(${sway}px)
@@ -6,7 +6,6 @@ import {
6
6
  useVideoConfig,
7
7
  interpolate,
8
8
  Easing,
9
- staticFile,
10
9
  } from "remotion";
11
10
  import { WordReveal28012026 } from "../Elements/WordReveal28012026";
12
11
 
@@ -159,11 +158,12 @@ export const F03022026_05 = ({
159
158
  }}
160
159
  >
161
160
  <Img
162
- src={staticFile("video-images/03022026-krishnaradha-5.webp")}
161
+ src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/03022026-krishnaradha-5.webp"
163
162
  style={{
164
163
  position: "absolute",
165
- top: "30%",
164
+ top: "40%",
166
165
  left: "50%",
166
+ width:"80%",
167
167
  objectFit: "cover",
168
168
  opacity: imageOpacity * imageExitOpacity,
169
169
  transform: `translateX(-50%) translateX(${moveX}px) translateY(${imageExitY}px)`
@@ -178,8 +178,8 @@ export const F03022026_05 = ({
178
178
  display: "flex",
179
179
  justifyContent: "center",
180
180
  alignItems: "center",
181
- opacity: msgOpacity * msgExitOpacity,
182
- transform: `translateY(-18%) translateY(${msgY + msgExitY}px)`,
181
+ opacity: msgOpacity * msgExitOpacity,
182
+ transform: `translateY(-20%) translateY(${msgY + msgExitY}px)`,
183
183
  }}
184
184
  >
185
185
  <div
@@ -99,7 +99,7 @@ export const F05022026_01 = () => {
99
99
  <AbsoluteFill
100
100
  style={{
101
101
  display: "flex",
102
- paddingTop: "10%",
102
+ paddingTop: "15%",
103
103
  alignItems: "center",
104
104
  opacity: fade(ganeshStart) * ganeshExitOpacity,
105
105
  transform: `translateY(${ganeshExitY}px)`,
@@ -108,7 +108,7 @@ export const F05022026_01 = () => {
108
108
  <Img
109
109
  src={staticFile("video-images/05022026-Ganesh.webp")}
110
110
  style={{
111
- width: "60%",
111
+ width: "50%",
112
112
  objectFit: "contain",
113
113
  transform: `scale(${ganeshScale * ganeshExitScale})`,
114
114
  }}
@@ -20,7 +20,7 @@ export const F20012026_01 = ({
20
20
  const { fps, width, height } = useVideoConfig();
21
21
 
22
22
  /* -------------------- MESSAGE REVEAL -------------------- */
23
- const messageStart = fps * 4;
23
+ const messageStart = fps * 2;
24
24
  const messageOpacity = interpolate(
25
25
  frame,
26
26
  [messageStart, messageStart + 15],
@@ -54,6 +54,49 @@ export const F20012026_01 = ({
54
54
  const brideAnim = reveal(brideStart);
55
55
  const wedsAnim = reveal(wedsStart);
56
56
  const groomAnim = reveal(groomStart);
57
+
58
+ const sceneDuration = fps * 8;
59
+ const exitDuration = fps * 1.3; // last 1 sec
60
+ const exitStart = sceneDuration - exitDuration;
61
+
62
+ const parts = 5;
63
+ const partDuration = exitDuration / parts;
64
+
65
+
66
+ const getExitAnim = (index) => {
67
+ const start = exitStart + partDuration * index;
68
+ const end = start + partDuration;
69
+
70
+ return {
71
+ opacity: interpolate(
72
+ frame,
73
+ [start, end],
74
+ [1, 0],
75
+ {
76
+ extrapolateLeft: "clamp",
77
+ extrapolateRight: "clamp",
78
+ easing: Easing.out(Easing.cubic),
79
+ }
80
+ ),
81
+
82
+ translateY: interpolate(
83
+ frame,
84
+ [start, end],
85
+ [0, -80],
86
+ {
87
+ extrapolateLeft: "clamp",
88
+ extrapolateRight: "clamp",
89
+ }
90
+ ),
91
+ };
92
+ };
93
+
94
+ const messageExit = getExitAnim(0);
95
+ const brideExit = getExitAnim(1);
96
+ const wedsExit = getExitAnim(2);
97
+ const groomExit = getExitAnim(3);
98
+ const coupleExit = getExitAnim(4);
99
+
57
100
  return (
58
101
  <AbsoluteFill style={{ overflow: "hidden" }}>
59
102
 
@@ -91,6 +134,8 @@ export const F20012026_01 = ({
91
134
  lineHeight: 1.2,
92
135
  opacity: messageOpacity,
93
136
  transform: `translateY(${messageTranslateY}px)`,
137
+ opacity: messageOpacity * messageExit.opacity,
138
+ transform: `translateY(${messageTranslateY + messageExit.translateY}px)`,
94
139
  }}
95
140
  >
96
141
  {welcomeMessage}
@@ -120,8 +165,10 @@ export const F20012026_01 = ({
120
165
  whiteSpace: "normal",
121
166
  wordBreak: "break-word",
122
167
  overflowWrap: "break-word",
123
- opacity: brideAnim.opacity,
124
- transform: `translateY(${brideAnim.translateY}px)`,
168
+ // opacity: brideAnim.opacity,
169
+ // transform: `translateY(${brideAnim.translateY}px)`,
170
+ opacity: brideAnim.opacity * brideExit.opacity,
171
+ transform: `translateY(${brideAnim.translateY + brideExit.translateY}px)`,
125
172
  }}
126
173
  >
127
174
  {firstName}
@@ -133,8 +180,10 @@ export const F20012026_01 = ({
133
180
  fontFamily: "Great Vibes",
134
181
  color: "#D4AF37",
135
182
  margin: "10px 0",
136
- opacity: wedsAnim.opacity,
137
- transform: `translateY(${wedsAnim.translateY}px)`,
183
+ // opacity: wedsAnim.opacity,
184
+ // transform: `translateY(${wedsAnim.translateY}px)`,
185
+ opacity: wedsAnim.opacity * wedsExit.opacity,
186
+ transform: `translateY(${wedsAnim.translateY + wedsExit.translateY}px)`,
138
187
  }}
139
188
  >
140
189
  weds
@@ -154,9 +203,10 @@ export const F20012026_01 = ({
154
203
  whiteSpace: "normal",
155
204
  wordBreak: "break-word",
156
205
  overflowWrap: "break-word",
157
- opacity: groomAnim.opacity,
158
- transform: `translateY(${groomAnim.translateY}px)`,
159
-
206
+ // opacity: groomAnim.opacity,
207
+ // transform: `translateY(${groomAnim.translateY}px)`,
208
+ opacity: groomAnim.opacity * groomExit.opacity,
209
+ transform: `translateY(${groomAnim.translateY + groomExit.translateY}px)`,
160
210
  }}
161
211
  >
162
212
  {secondName}
@@ -67,9 +67,10 @@ export const F20012026_02 = ({
67
67
  >
68
68
  {/* Curtain */}
69
69
  <Img
70
- src={staticFile("video-images/20012026-curtain-floral.png")}
70
+ src={staticFile("video-images/20012026-curtain-floral3.webp")}
71
71
  style={{
72
72
  position: "absolute",
73
+ top:"-12%",
73
74
  left: "50%",
74
75
  width: "100%",
75
76
  opacity: imageOpacity,
@@ -179,7 +180,7 @@ export const F20012026_02 = ({
179
180
  <div
180
181
  style={{
181
182
  fontSize: 40,
182
- fontWeight:"400",
183
+ fontWeight:"400",
183
184
  fontFamily: "Great Vibes",
184
185
  color: "#2F6B4F",
185
186
  }}