@vanillaskyai/video 0.5.4 → 0.5.5

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 (55) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{bg-media-ILOMGMR4.js → bg-media-5YR4OLFG.js} +2 -2
  3. package/dist/{brand-message-M2YADSZX.js → brand-message-7524B6HC.js} +2 -2
  4. package/dist/{chart-bar-25ZZSPOC.js → chart-bar-5UMZXTON.js} +2 -2
  5. package/dist/{chart-counter-GFEXZEJK.js → chart-counter-QUVLAX42.js} +2 -2
  6. package/dist/{chart-progress-ring-IZZLYZPX.js → chart-progress-ring-IYCNRU7T.js} +2 -2
  7. package/dist/check-runtime.js +2 -2
  8. package/dist/{chunk-35LIYILY.js → chunk-224QNWRA.js} +5 -0
  9. package/dist/{chunk-4M6HDFQU.js → chunk-3QEKIC6C.js} +2 -5
  10. package/dist/{chunk-MT2Z4A5X.js → chunk-EHXDKCYR.js} +13 -11
  11. package/dist/{cta-logo-MR45BN3J.js → cta-logo-PREL7MLE.js} +2 -2
  12. package/dist/{cta-media-BI3SZKTA.js → cta-media-YWTYVLR6.js} +2 -2
  13. package/dist/{incoming-call-NF6Z2OAF.js → incoming-call-C3FX4SFR.js} +2 -2
  14. package/dist/{infographic-feature-list-XQZEMDCM.js → infographic-feature-list-WWX5AGU4.js} +2 -2
  15. package/dist/{infographic-problem-solution-V67AFFGA.js → infographic-problem-solution-3JBBGNXU.js} +2 -2
  16. package/dist/{infographic-stat-row-H7PAX6LC.js → infographic-stat-row-7X6KEEUD.js} +2 -2
  17. package/dist/{infographic-steps-LI2SVPET.js → infographic-steps-FI5LN4SS.js} +2 -2
  18. package/dist/{preload-media-NKQ6JA3T.js → preload-media-IYFMPMLB.js} +1 -1
  19. package/dist/{prompt-input-3IRVZIBB.js → prompt-input-NNXF6WVS.js} +2 -2
  20. package/dist/react.js +26 -26
  21. package/dist/{reaction-TBZSTYWU.js → reaction-DH6M6LSQ.js} +2 -2
  22. package/dist/{showcase-code-JM47BEVJ.js → showcase-code-QDJM7E2Z.js} +2 -2
  23. package/dist/{showcase-phone-HH5J3JEG.js → showcase-phone-IIYR34CF.js} +2 -2
  24. package/dist/{showcase-terminal-ZNI2RSTM.js → showcase-terminal-3253HMTE.js} +2 -2
  25. package/dist/{showcase-web-E5A3AOGH.js → showcase-web-H7GB3FBH.js} +2 -2
  26. package/dist/{social-milestone-4DQIIIHI.js → social-milestone-MLWAWF6X.js} +2 -2
  27. package/dist/{social-notification-2S7DA2NX.js → social-notification-2UQKKOB3.js} +2 -2
  28. package/dist/{social-review-stack-T4PEVP2X.js → social-review-stack-VHJPE6GM.js} +2 -2
  29. package/dist/{social-testimonial-GINCBMWU.js → social-testimonial-QUNCY52L.js} +2 -2
  30. package/dist/{social-tweet-TQHHY6OG.js → social-tweet-33HIL4RR.js} +2 -2
  31. package/examples/nextjs-quickstart/package.json +1 -1
  32. package/package.json +1 -1
  33. package/registry/items/barChart.json +2 -2
  34. package/registry/items/bigNumber.json +2 -2
  35. package/registry/items/brandMessage.json +2 -2
  36. package/registry/items/cardList.json +2 -2
  37. package/registry/items/codeEditor.json +2 -2
  38. package/registry/items/ctaLogo.json +2 -2
  39. package/registry/items/ctaMedia.json +2 -2
  40. package/registry/items/incomingCall.json +2 -2
  41. package/registry/items/media.json +2 -2
  42. package/registry/items/milestone.json +2 -2
  43. package/registry/items/notification.json +2 -2
  44. package/registry/items/phoneMockup.json +2 -2
  45. package/registry/items/problemSolution.json +2 -2
  46. package/registry/items/progressRing.json +2 -2
  47. package/registry/items/promptInput.json +2 -2
  48. package/registry/items/reaction.json +2 -2
  49. package/registry/items/reviewStack.json +2 -2
  50. package/registry/items/steps.json +2 -2
  51. package/registry/items/terminal.json +2 -2
  52. package/registry/items/testimonial.json +2 -2
  53. package/registry/items/tripleStats.json +2 -2
  54. package/registry/items/tweet.json +2 -2
  55. package/registry/items/webMockup.json +2 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ VanillaSky follows semantic versioning. This changelog begins with the 0.1 beta.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.5.5
8
+
9
+ - Keeps a Mobile Safari video poster visible until the replacement video has
10
+ presented its first frame, preventing a poster-to-gradient-to-video flash
11
+ during consecutive media scenes.
12
+
7
13
  ## 0.5.4
8
14
 
9
15
  - Prevents Mobile Safari from holding outgoing and incoming scene video
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SceneBackground,
3
3
  getMediaBackgroundProps
4
- } from "./chunk-MT2Z4A5X.js";
4
+ } from "./chunk-EHXDKCYR.js";
5
5
  import {
6
6
  ConfettiLayer
7
7
  } from "./chunk-CJ7F2CE6.js";
@@ -14,7 +14,7 @@ import "./chunk-MFYFZQHM.js";
14
14
  import "./chunk-XTOXFMLM.js";
15
15
  import {
16
16
  hasSceneMedia
17
- } from "./chunk-35LIYILY.js";
17
+ } from "./chunk-224QNWRA.js";
18
18
  import {
19
19
  resolveTokens
20
20
  } from "./chunk-XWWLKRNU.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  renderWithEmoji
10
10
  } from "./chunk-L5BTTCZV.js";
@@ -12,7 +12,7 @@ import "./chunk-MFYFZQHM.js";
12
12
  import {
13
13
  interpolate
14
14
  } from "./chunk-XTOXFMLM.js";
15
- import "./chunk-35LIYILY.js";
15
+ import "./chunk-224QNWRA.js";
16
16
  import "./chunk-XWWLKRNU.js";
17
17
 
18
18
  // src/visual-system/primitives/typography/BrandMessageBubble.tsx
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SceneBackground,
3
3
  getMediaBackgroundProps
4
- } from "./chunk-MT2Z4A5X.js";
4
+ } from "./chunk-EHXDKCYR.js";
5
5
  import {
6
6
  TemplateText
7
7
  } from "./chunk-TCEHK2BW.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-XTOXFMLM.js";
18
18
  import {
19
19
  hasSceneMedia
20
- } from "./chunk-35LIYILY.js";
20
+ } from "./chunk-224QNWRA.js";
21
21
  import {
22
22
  resolveTokens
23
23
  } from "./chunk-XWWLKRNU.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  ConfettiLayer
10
10
  } from "./chunk-CJ7F2CE6.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-XTOXFMLM.js";
24
24
  import {
25
25
  hasSceneMedia
26
- } from "./chunk-35LIYILY.js";
26
+ } from "./chunk-224QNWRA.js";
27
27
  import {
28
28
  MEDIA_TEXT_SHADOW,
29
29
  TOKEN_DEFAULTS,
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-MT2Z4A5X.js";
8
+ } from "./chunk-EHXDKCYR.js";
9
9
  import {
10
10
  TemplateText
11
11
  } from "./chunk-TCEHK2BW.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-XTOXFMLM.js";
20
20
  import {
21
21
  hasSceneMedia
22
- } from "./chunk-35LIYILY.js";
22
+ } from "./chunk-224QNWRA.js";
23
23
  import {
24
24
  TOKEN_DEFAULTS,
25
25
  resolveTokens
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  VideoFrame
3
- } from "./chunk-4M6HDFQU.js";
4
- import "./chunk-35LIYILY.js";
3
+ } from "./chunk-3QEKIC6C.js";
4
+ import "./chunk-224QNWRA.js";
5
5
  import "./chunk-XWWLKRNU.js";
6
6
  import "./chunk-SPVTJH3F.js";
7
7
  import {
@@ -9,6 +9,10 @@ function isVideoUrl(url) {
9
9
  return VIDEO_EXTENSIONS.some((ext) => lower.endsWith(ext));
10
10
  }
11
11
  }
12
+ function limitsConcurrentVideoDecoders() {
13
+ if (typeof navigator === "undefined") return false;
14
+ return /iPad|iPhone|iPod/.test(navigator.userAgent) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
15
+ }
12
16
  function resolveMediaType(mediaType, mediaUrl) {
13
17
  if (mediaType === "gradient") return "gradient";
14
18
  if (mediaType === "video") return "video";
@@ -20,6 +24,7 @@ function hasSceneMedia(variables) {
20
24
  }
21
25
 
22
26
  export {
27
+ limitsConcurrentVideoDecoders,
23
28
  resolveMediaType,
24
29
  hasSceneMedia
25
30
  };
@@ -1,6 +1,7 @@
1
1
  import {
2
+ limitsConcurrentVideoDecoders,
2
3
  resolveMediaType
3
- } from "./chunk-35LIYILY.js";
4
+ } from "./chunk-224QNWRA.js";
4
5
  import {
5
6
  resolveDensity
6
7
  } from "./chunk-XWWLKRNU.js";
@@ -64,10 +65,6 @@ function sceneHasVideoBackdrop(range) {
64
65
  String(range.scene.variables.mediaUrl || "")
65
66
  ) === "video";
66
67
  }
67
- function limitsConcurrentVideoDecoders() {
68
- if (typeof navigator === "undefined") return false;
69
- return /iPad|iPhone|iPod/.test(navigator.userAgent) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
70
- }
71
68
  function sceneBackgroundChanges(left, right) {
72
69
  const mediaUrl = (range) => String(range.scene.variables.mediaType || "auto") === "gradient" ? "" : String(range.scene.variables.mediaUrl || "");
73
70
  return mediaUrl(left) !== mediaUrl(right);
@@ -3,8 +3,9 @@ import {
3
3
  getBackgroundTransform
4
4
  } from "./chunk-MFYFZQHM.js";
5
5
  import {
6
+ limitsConcurrentVideoDecoders,
6
7
  resolveMediaType
7
- } from "./chunk-35LIYILY.js";
8
+ } from "./chunk-224QNWRA.js";
8
9
 
9
10
  // src/visual-system/scene-templates/scene-background.tsx
10
11
  import { useEffect, useRef, useState } from "react";
@@ -141,7 +142,6 @@ var SceneBackground = ({
141
142
  beatIntensity
142
143
  );
143
144
  const videoRef = useRef(null);
144
- const lastProgress = useRef(progress);
145
145
  const videoStarted = useRef(false);
146
146
  useEffect(() => {
147
147
  const vid = videoRef.current;
@@ -151,17 +151,12 @@ var SceneBackground = ({
151
151
  videoStarted.current = false;
152
152
  return;
153
153
  }
154
- const progressChanged = Math.abs(progress - lastProgress.current) > 1e-3;
155
- lastProgress.current = progress;
156
- if (progressChanged && !videoStarted.current) {
154
+ if (!videoStarted.current) {
157
155
  vid.playbackRate = 1;
158
- vid.currentTime = 0;
156
+ if (vid.currentTime > 0) vid.currentTime = 0;
159
157
  vid.play().catch(() => {
160
158
  });
161
159
  videoStarted.current = true;
162
- } else if (!progressChanged && videoStarted.current) {
163
- vid.pause();
164
- videoStarted.current = false;
165
160
  }
166
161
  }, [progress, isPlaying]);
167
162
  useEffect(() => {
@@ -193,9 +188,16 @@ var SceneBackground = ({
193
188
  loop: true,
194
189
  playsInline: true,
195
190
  preload: "auto",
196
- onLoadedData: () => {
197
- setDecodedVideoUrl(mediaUrl);
191
+ onLoadedData: (event) => {
198
192
  setMediaPaint("ready");
193
+ const video = event.currentTarget;
194
+ if (!limitsConcurrentVideoDecoders()) {
195
+ setDecodedVideoUrl(mediaUrl);
196
+ return;
197
+ }
198
+ video.requestVideoFrameCallback?.(() => {
199
+ if (video.isConnected) setDecodedVideoUrl(mediaUrl);
200
+ });
199
201
  },
200
202
  onError: () => setMediaPaint("failed"),
201
203
  "data-media-position": mediaPosition,
@@ -4,14 +4,14 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import "./chunk-MFYFZQHM.js";
9
9
  import {
10
10
  SPRING_SMOOTH,
11
11
  interpolate,
12
12
  spring
13
13
  } from "./chunk-XTOXFMLM.js";
14
- import "./chunk-35LIYILY.js";
14
+ import "./chunk-224QNWRA.js";
15
15
  import {
16
16
  TOKEN_DEFAULTS,
17
17
  resolveTokens
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-MT2Z4A5X.js";
8
+ } from "./chunk-EHXDKCYR.js";
9
9
  import {
10
10
  TemplateText
11
11
  } from "./chunk-TCEHK2BW.js";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-XTOXFMLM.js";
19
19
  import {
20
20
  hasSceneMedia
21
- } from "./chunk-35LIYILY.js";
21
+ } from "./chunk-224QNWRA.js";
22
22
  import {
23
23
  TOKEN_DEFAULTS,
24
24
  resolveTokens
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-MT2Z4A5X.js";
8
+ } from "./chunk-EHXDKCYR.js";
9
9
  import "./chunk-MFYFZQHM.js";
10
10
  import {
11
11
  SPRING_BOUNCY,
@@ -13,7 +13,7 @@ import {
13
13
  interpolate,
14
14
  spring
15
15
  } from "./chunk-XTOXFMLM.js";
16
- import "./chunk-35LIYILY.js";
16
+ import "./chunk-224QNWRA.js";
17
17
  import {
18
18
  resolveTokens
19
19
  } from "./chunk-XWWLKRNU.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  SceneBackground,
9
9
  getMediaBackgroundProps
10
- } from "./chunk-MT2Z4A5X.js";
10
+ } from "./chunk-EHXDKCYR.js";
11
11
  import {
12
12
  TemplateText
13
13
  } from "./chunk-TCEHK2BW.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-XTOXFMLM.js";
22
22
  import {
23
23
  hasSceneMedia
24
- } from "./chunk-35LIYILY.js";
24
+ } from "./chunk-224QNWRA.js";
25
25
  import {
26
26
  TOKEN_DEFAULTS,
27
27
  resolveTokens
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  smoothSize
10
10
  } from "./chunk-TCEHK2BW.js";
@@ -14,7 +14,7 @@ import {
14
14
  interpolate,
15
15
  spring
16
16
  } from "./chunk-XTOXFMLM.js";
17
- import "./chunk-35LIYILY.js";
17
+ import "./chunk-224QNWRA.js";
18
18
  import {
19
19
  TOKEN_DEFAULTS,
20
20
  resolveTokens
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SceneBackground,
3
3
  getMediaBackgroundProps
4
- } from "./chunk-MT2Z4A5X.js";
4
+ } from "./chunk-EHXDKCYR.js";
5
5
  import {
6
6
  TemplateText
7
7
  } from "./chunk-TCEHK2BW.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-XTOXFMLM.js";
17
17
  import {
18
18
  hasSceneMedia
19
- } from "./chunk-35LIYILY.js";
19
+ } from "./chunk-224QNWRA.js";
20
20
  import {
21
21
  TOKEN_DEFAULTS,
22
22
  resolveTokens
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  SceneBackground,
10
10
  getMediaBackgroundProps
11
- } from "./chunk-MT2Z4A5X.js";
11
+ } from "./chunk-EHXDKCYR.js";
12
12
  import {
13
13
  TemplateText
14
14
  } from "./chunk-TCEHK2BW.js";
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-XTOXFMLM.js";
27
27
  import {
28
28
  hasSceneMedia
29
- } from "./chunk-35LIYILY.js";
29
+ } from "./chunk-224QNWRA.js";
30
30
  import {
31
31
  TOKEN_DEFAULTS,
32
32
  resolveTokens
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveMediaType
3
- } from "./chunk-35LIYILY.js";
3
+ } from "./chunk-224QNWRA.js";
4
4
 
5
5
  // src/player/preload-media.ts
6
6
  var warmed = /* @__PURE__ */ new Set();
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import "./chunk-MFYFZQHM.js";
9
9
  import {
10
10
  SPRING_BOUNCY,
@@ -12,7 +12,7 @@ import {
12
12
  interpolate,
13
13
  spring
14
14
  } from "./chunk-XTOXFMLM.js";
15
- import "./chunk-35LIYILY.js";
15
+ import "./chunk-224QNWRA.js";
16
16
  import {
17
17
  resolveTokens
18
18
  } from "./chunk-XWWLKRNU.js";
package/dist/react.js CHANGED
@@ -24,8 +24,8 @@ import {
24
24
  import {
25
25
  VideoFrame,
26
26
  getDimensions
27
- } from "./chunk-4M6HDFQU.js";
28
- import "./chunk-35LIYILY.js";
27
+ } from "./chunk-3QEKIC6C.js";
28
+ import "./chunk-224QNWRA.js";
29
29
  import {
30
30
  fontStack
31
31
  } from "./chunk-XWWLKRNU.js";
@@ -77,34 +77,34 @@ import { createElement } from "react";
77
77
 
78
78
  // src/visual-system/catalog/builtin-loaders.generated.ts
79
79
  var GENERATED_BUILTIN_TEMPLATE_LOADERS = {
80
- "media": () => import("./bg-media-ILOMGMR4.js").then((module) => ({ default: module.BgMediaTemplate })),
81
- "reaction": () => import("./reaction-TBZSTYWU.js").then((module) => ({ default: module.ReactionTemplate })),
80
+ "media": () => import("./bg-media-5YR4OLFG.js").then((module) => ({ default: module.BgMediaTemplate })),
81
+ "reaction": () => import("./reaction-DH6M6LSQ.js").then((module) => ({ default: module.ReactionTemplate })),
82
82
  "confetti": () => import("./bg-confetti-572VDSYM.js").then((module) => ({ default: module.BgConfettiTemplate })),
83
83
  "emojiBurst": () => import("./bg-emoji-T4IEJ6U2.js").then((module) => ({ default: module.BgEmojiTemplate })),
84
- "bigNumber": () => import("./chart-counter-GFEXZEJK.js").then((module) => ({ default: module.ChartCounterTemplate })),
85
- "barChart": () => import("./chart-bar-25ZZSPOC.js").then((module) => ({ default: module.ChartBarTemplate })),
86
- "progressRing": () => import("./chart-progress-ring-IZZLYZPX.js").then((module) => ({ default: module.ChartProgressRingTemplate })),
87
- "phoneMockup": () => import("./showcase-phone-HH5J3JEG.js").then((module) => ({ default: module.ShowcasePhoneTemplate })),
88
- "webMockup": () => import("./showcase-web-E5A3AOGH.js").then((module) => ({ default: module.ShowcaseWebTemplate })),
89
- "codeEditor": () => import("./showcase-code-JM47BEVJ.js").then((module) => ({ default: module.ShowcaseCodeTemplate })),
90
- "terminal": () => import("./showcase-terminal-ZNI2RSTM.js").then((module) => ({ default: module.ShowcaseTerminalTemplate })),
91
- "tweet": () => import("./social-tweet-TQHHY6OG.js").then((module) => ({ default: module.SocialTweetTemplate })),
92
- "notification": () => import("./social-notification-2S7DA2NX.js").then((module) => ({ default: module.SocialNotificationTemplate })),
84
+ "bigNumber": () => import("./chart-counter-QUVLAX42.js").then((module) => ({ default: module.ChartCounterTemplate })),
85
+ "barChart": () => import("./chart-bar-5UMZXTON.js").then((module) => ({ default: module.ChartBarTemplate })),
86
+ "progressRing": () => import("./chart-progress-ring-IYCNRU7T.js").then((module) => ({ default: module.ChartProgressRingTemplate })),
87
+ "phoneMockup": () => import("./showcase-phone-IIYR34CF.js").then((module) => ({ default: module.ShowcasePhoneTemplate })),
88
+ "webMockup": () => import("./showcase-web-H7GB3FBH.js").then((module) => ({ default: module.ShowcaseWebTemplate })),
89
+ "codeEditor": () => import("./showcase-code-QDJM7E2Z.js").then((module) => ({ default: module.ShowcaseCodeTemplate })),
90
+ "terminal": () => import("./showcase-terminal-3253HMTE.js").then((module) => ({ default: module.ShowcaseTerminalTemplate })),
91
+ "tweet": () => import("./social-tweet-33HIL4RR.js").then((module) => ({ default: module.SocialTweetTemplate })),
92
+ "notification": () => import("./social-notification-2UQKKOB3.js").then((module) => ({ default: module.SocialNotificationTemplate })),
93
93
  "chatMessenger": () => import("./social-conversation-75SD2637.js").then((module) => ({ default: module.SocialConversationTemplate })),
94
94
  "chatWhatsapp": () => import("./social-conversation-75SD2637.js").then((module) => ({ default: module.SocialConversationTemplate })),
95
- "milestone": () => import("./social-milestone-4DQIIIHI.js").then((module) => ({ default: module.SocialMilestoneTemplate })),
96
- "reviewStack": () => import("./social-review-stack-T4PEVP2X.js").then((module) => ({ default: module.SocialReviewStackTemplate })),
97
- "testimonial": () => import("./social-testimonial-GINCBMWU.js").then((module) => ({ default: module.SocialTestimonialTemplate })),
98
- "incomingCall": () => import("./incoming-call-NF6Z2OAF.js").then((module) => ({ default: module.IncomingCallTemplate })),
99
- "brandMessage": () => import("./brand-message-M2YADSZX.js").then((module) => ({ default: module.BrandMessageTemplate })),
100
- "promptInput": () => import("./prompt-input-3IRVZIBB.js").then((module) => ({ default: module.PromptInputTemplate })),
95
+ "milestone": () => import("./social-milestone-MLWAWF6X.js").then((module) => ({ default: module.SocialMilestoneTemplate })),
96
+ "reviewStack": () => import("./social-review-stack-VHJPE6GM.js").then((module) => ({ default: module.SocialReviewStackTemplate })),
97
+ "testimonial": () => import("./social-testimonial-QUNCY52L.js").then((module) => ({ default: module.SocialTestimonialTemplate })),
98
+ "incomingCall": () => import("./incoming-call-C3FX4SFR.js").then((module) => ({ default: module.IncomingCallTemplate })),
99
+ "brandMessage": () => import("./brand-message-7524B6HC.js").then((module) => ({ default: module.BrandMessageTemplate })),
100
+ "promptInput": () => import("./prompt-input-NNXF6WVS.js").then((module) => ({ default: module.PromptInputTemplate })),
101
101
  "beforeAfter": () => import("./infographic-before-after-FQXCQ2CY.js").then((module) => ({ default: module.InfographicBeforeAfterTemplate })),
102
- "tripleStats": () => import("./infographic-stat-row-H7PAX6LC.js").then((module) => ({ default: module.InfographicStatRowTemplate })),
103
- "problemSolution": () => import("./infographic-problem-solution-V67AFFGA.js").then((module) => ({ default: module.InfographicProblemSolutionTemplate })),
104
- "cardList": () => import("./infographic-feature-list-XQZEMDCM.js").then((module) => ({ default: module.InfographicFeatureListTemplate })),
105
- "steps": () => import("./infographic-steps-LI2SVPET.js").then((module) => ({ default: module.InfographicStepsTemplate })),
106
- "ctaLogo": () => import("./cta-logo-MR45BN3J.js").then((module) => ({ default: module.CtaLogoTemplate })),
107
- "ctaMedia": () => import("./cta-media-BI3SZKTA.js").then((module) => ({ default: module.CtaMediaTemplate }))
102
+ "tripleStats": () => import("./infographic-stat-row-7X6KEEUD.js").then((module) => ({ default: module.InfographicStatRowTemplate })),
103
+ "problemSolution": () => import("./infographic-problem-solution-3JBBGNXU.js").then((module) => ({ default: module.InfographicProblemSolutionTemplate })),
104
+ "cardList": () => import("./infographic-feature-list-WWX5AGU4.js").then((module) => ({ default: module.InfographicFeatureListTemplate })),
105
+ "steps": () => import("./infographic-steps-FI5LN4SS.js").then((module) => ({ default: module.InfographicStepsTemplate })),
106
+ "ctaLogo": () => import("./cta-logo-PREL7MLE.js").then((module) => ({ default: module.CtaLogoTemplate })),
107
+ "ctaMedia": () => import("./cta-media-YWTYVLR6.js").then((module) => ({ default: module.CtaMediaTemplate }))
108
108
  };
109
109
 
110
110
  // src/visual-system/catalog/builtin-player.generated.ts
@@ -704,7 +704,7 @@ function preloadBuiltinTemplate(id) {
704
704
 
705
705
  // src/player/warm-scene-media.ts
706
706
  function warmSceneMedia(variables) {
707
- void import("./preload-media-NKQ6JA3T.js").then((module) => module.preloadSceneMedia(variables)).catch(() => {
707
+ void import("./preload-media-IYFMPMLB.js").then((module) => module.preloadSceneMedia(variables)).catch(() => {
708
708
  });
709
709
  }
710
710
 
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  SceneBackground
3
- } from "./chunk-MT2Z4A5X.js";
3
+ } from "./chunk-EHXDKCYR.js";
4
4
  import {
5
5
  TemplateText
6
6
  } from "./chunk-TCEHK2BW.js";
7
7
  import "./chunk-L5BTTCZV.js";
8
8
  import "./chunk-MFYFZQHM.js";
9
9
  import "./chunk-XTOXFMLM.js";
10
- import "./chunk-35LIYILY.js";
10
+ import "./chunk-224QNWRA.js";
11
11
  import {
12
12
  resolveTokens
13
13
  } from "./chunk-XWWLKRNU.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-MT2Z4A5X.js";
8
+ } from "./chunk-EHXDKCYR.js";
9
9
  import {
10
10
  TemplateText
11
11
  } from "./chunk-TCEHK2BW.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-XTOXFMLM.js";
18
18
  import {
19
19
  hasSceneMedia
20
- } from "./chunk-35LIYILY.js";
20
+ } from "./chunk-224QNWRA.js";
21
21
  import {
22
22
  resolveTokens
23
23
  } from "./chunk-XWWLKRNU.js";
@@ -7,7 +7,7 @@ import "./chunk-S7HFLYNN.js";
7
7
  import {
8
8
  SceneBackground,
9
9
  getMediaBackgroundProps
10
- } from "./chunk-MT2Z4A5X.js";
10
+ } from "./chunk-EHXDKCYR.js";
11
11
  import {
12
12
  TemplateText
13
13
  } from "./chunk-TCEHK2BW.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-XTOXFMLM.js";
21
21
  import {
22
22
  hasSceneMedia
23
- } from "./chunk-35LIYILY.js";
23
+ } from "./chunk-224QNWRA.js";
24
24
  import {
25
25
  TOKEN_DEFAULTS,
26
26
  resolveTokens
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  SceneBackground,
9
9
  getMediaBackgroundProps
10
- } from "./chunk-MT2Z4A5X.js";
10
+ } from "./chunk-EHXDKCYR.js";
11
11
  import {
12
12
  TemplateText
13
13
  } from "./chunk-TCEHK2BW.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-XTOXFMLM.js";
20
20
  import {
21
21
  hasSceneMedia
22
- } from "./chunk-35LIYILY.js";
22
+ } from "./chunk-224QNWRA.js";
23
23
  import {
24
24
  TOKEN_DEFAULTS,
25
25
  resolveTokens
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  SceneBackground,
11
11
  getMediaBackgroundProps
12
- } from "./chunk-MT2Z4A5X.js";
12
+ } from "./chunk-EHXDKCYR.js";
13
13
  import {
14
14
  TemplateText
15
15
  } from "./chunk-TCEHK2BW.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-XTOXFMLM.js";
23
23
  import {
24
24
  hasSceneMedia
25
- } from "./chunk-35LIYILY.js";
25
+ } from "./chunk-224QNWRA.js";
26
26
  import {
27
27
  TOKEN_DEFAULTS,
28
28
  resolveTokens
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  ConfettiLayer
10
10
  } from "./chunk-CJ7F2CE6.js";
@@ -23,7 +23,7 @@ import {
23
23
  interpolate,
24
24
  spring
25
25
  } from "./chunk-XTOXFMLM.js";
26
- import "./chunk-35LIYILY.js";
26
+ import "./chunk-224QNWRA.js";
27
27
  import {
28
28
  MEDIA_TEXT_SHADOW,
29
29
  TOKEN_DEFAULTS,
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  Emoji,
10
10
  renderWithEmoji
@@ -15,7 +15,7 @@ import {
15
15
  interpolate,
16
16
  spring
17
17
  } from "./chunk-XTOXFMLM.js";
18
- import "./chunk-35LIYILY.js";
18
+ import "./chunk-224QNWRA.js";
19
19
  import {
20
20
  resolveTokens
21
21
  } from "./chunk-XWWLKRNU.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  accessibleTextColor,
10
10
  withOpacity
@@ -14,7 +14,7 @@ import {
14
14
  interpolate,
15
15
  spring
16
16
  } from "./chunk-XTOXFMLM.js";
17
- import "./chunk-35LIYILY.js";
17
+ import "./chunk-224QNWRA.js";
18
18
  import {
19
19
  lighten,
20
20
  resolveTokens
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  accessibleTextColor,
10
10
  autoTextColor,
@@ -16,7 +16,7 @@ import {
16
16
  interpolate,
17
17
  spring
18
18
  } from "./chunk-XTOXFMLM.js";
19
- import "./chunk-35LIYILY.js";
19
+ import "./chunk-224QNWRA.js";
20
20
  import {
21
21
  TOKEN_DEFAULTS,
22
22
  lighten,
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-EHXDKCYR.js";
8
8
  import {
9
9
  renderWithEmoji
10
10
  } from "./chunk-L5BTTCZV.js";
@@ -16,7 +16,7 @@ import {
16
16
  interpolate,
17
17
  spring
18
18
  } from "./chunk-XTOXFMLM.js";
19
- import "./chunk-35LIYILY.js";
19
+ import "./chunk-224QNWRA.js";
20
20
  import {
21
21
  resolveTokens
22
22
  } from "./chunk-XWWLKRNU.js";
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@ai-sdk/anthropic": "^4.0.41",
12
- "@vanillaskyai/video": "0.5.4",
12
+ "@vanillaskyai/video": "0.5.5",
13
13
  "ai": "^7.0.77",
14
14
  "next": "16.3.2",
15
15
  "react": "19.2.8",