@vanillaskyai/video 0.5.4 → 0.5.6

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 +12 -0
  2. package/dist/{bg-media-ILOMGMR4.js → bg-media-2D5SQSJX.js} +2 -2
  3. package/dist/{brand-message-M2YADSZX.js → brand-message-2JCTRIGS.js} +2 -2
  4. package/dist/{chart-bar-25ZZSPOC.js → chart-bar-GAJMUB2E.js} +2 -2
  5. package/dist/{chart-counter-GFEXZEJK.js → chart-counter-HYGBGXNX.js} +2 -2
  6. package/dist/{chart-progress-ring-IZZLYZPX.js → chart-progress-ring-DUUVMJAJ.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-CTEYFVUY.js} +20 -11
  11. package/dist/{cta-logo-MR45BN3J.js → cta-logo-JIG22SWA.js} +2 -2
  12. package/dist/{cta-media-BI3SZKTA.js → cta-media-GIHQTPPK.js} +2 -2
  13. package/dist/{incoming-call-NF6Z2OAF.js → incoming-call-2O5NPJ7B.js} +2 -2
  14. package/dist/{infographic-feature-list-XQZEMDCM.js → infographic-feature-list-MVJ3GQVK.js} +2 -2
  15. package/dist/{infographic-problem-solution-V67AFFGA.js → infographic-problem-solution-ZUF54SNF.js} +2 -2
  16. package/dist/{infographic-stat-row-H7PAX6LC.js → infographic-stat-row-4DLC5NSC.js} +2 -2
  17. package/dist/{infographic-steps-LI2SVPET.js → infographic-steps-IT23RFV6.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-IL7HP5WX.js} +2 -2
  20. package/dist/react.js +26 -26
  21. package/dist/{reaction-TBZSTYWU.js → reaction-IDFJZ7HI.js} +2 -2
  22. package/dist/{showcase-code-JM47BEVJ.js → showcase-code-EIGXDZE3.js} +2 -2
  23. package/dist/{showcase-phone-HH5J3JEG.js → showcase-phone-STUZJRXV.js} +2 -2
  24. package/dist/{showcase-terminal-ZNI2RSTM.js → showcase-terminal-SYP6TKP2.js} +2 -2
  25. package/dist/{showcase-web-E5A3AOGH.js → showcase-web-57R4RMTG.js} +2 -2
  26. package/dist/{social-milestone-4DQIIIHI.js → social-milestone-J6QVX4YJ.js} +2 -2
  27. package/dist/{social-notification-2S7DA2NX.js → social-notification-2RYS7NM4.js} +2 -2
  28. package/dist/{social-review-stack-T4PEVP2X.js → social-review-stack-25C6JJ4W.js} +2 -2
  29. package/dist/{social-testimonial-GINCBMWU.js → social-testimonial-SH54T4CW.js} +2 -2
  30. package/dist/{social-tweet-TQHHY6OG.js → social-tweet-T7RTFQ6T.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,18 @@ VanillaSky follows semantic versioning. This changelog begins with the 0.1 beta.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.5.6
8
+
9
+ - Keeps a video's warmed poster painted behind its frame so Mobile Safari
10
+ cannot expose the brand gradient while transferring its decoder between
11
+ consecutive media scenes.
12
+
13
+ ## 0.5.5
14
+
15
+ - Keeps a Mobile Safari video poster visible until the replacement video has
16
+ presented its first frame, preventing a poster-to-gradient-to-video flash
17
+ during consecutive media scenes.
18
+
7
19
  ## 0.5.4
8
20
 
9
21
  - 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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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,
@@ -206,6 +208,13 @@ var SceneBackground = ({
206
208
  height: "100%",
207
209
  objectFit: "cover",
208
210
  objectPosition: resolvedPosition,
211
+ // Mobile WebKit can briefly make a newly mounted video layer
212
+ // transparent while handing the decoder over from the previous
213
+ // scene. Keep the already-warmed poster painted behind the
214
+ // replaced content so that gap never exposes the gradient.
215
+ backgroundImage: mediaPoster ? `url(${mediaPoster})` : void 0,
216
+ backgroundSize: "cover",
217
+ backgroundPosition: resolvedPosition,
209
218
  transform: bgTransform.transform,
210
219
  transformOrigin: bgTransform.transformOrigin
211
220
  }
@@ -4,14 +4,14 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-MT2Z4A5X.js";
7
+ } from "./chunk-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-2D5SQSJX.js").then((module) => ({ default: module.BgMediaTemplate })),
81
+ "reaction": () => import("./reaction-IDFJZ7HI.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-HYGBGXNX.js").then((module) => ({ default: module.ChartCounterTemplate })),
85
+ "barChart": () => import("./chart-bar-GAJMUB2E.js").then((module) => ({ default: module.ChartBarTemplate })),
86
+ "progressRing": () => import("./chart-progress-ring-DUUVMJAJ.js").then((module) => ({ default: module.ChartProgressRingTemplate })),
87
+ "phoneMockup": () => import("./showcase-phone-STUZJRXV.js").then((module) => ({ default: module.ShowcasePhoneTemplate })),
88
+ "webMockup": () => import("./showcase-web-57R4RMTG.js").then((module) => ({ default: module.ShowcaseWebTemplate })),
89
+ "codeEditor": () => import("./showcase-code-EIGXDZE3.js").then((module) => ({ default: module.ShowcaseCodeTemplate })),
90
+ "terminal": () => import("./showcase-terminal-SYP6TKP2.js").then((module) => ({ default: module.ShowcaseTerminalTemplate })),
91
+ "tweet": () => import("./social-tweet-T7RTFQ6T.js").then((module) => ({ default: module.SocialTweetTemplate })),
92
+ "notification": () => import("./social-notification-2RYS7NM4.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-J6QVX4YJ.js").then((module) => ({ default: module.SocialMilestoneTemplate })),
96
+ "reviewStack": () => import("./social-review-stack-25C6JJ4W.js").then((module) => ({ default: module.SocialReviewStackTemplate })),
97
+ "testimonial": () => import("./social-testimonial-SH54T4CW.js").then((module) => ({ default: module.SocialTestimonialTemplate })),
98
+ "incomingCall": () => import("./incoming-call-2O5NPJ7B.js").then((module) => ({ default: module.IncomingCallTemplate })),
99
+ "brandMessage": () => import("./brand-message-2JCTRIGS.js").then((module) => ({ default: module.BrandMessageTemplate })),
100
+ "promptInput": () => import("./prompt-input-IL7HP5WX.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-4DLC5NSC.js").then((module) => ({ default: module.InfographicStatRowTemplate })),
103
+ "problemSolution": () => import("./infographic-problem-solution-ZUF54SNF.js").then((module) => ({ default: module.InfographicProblemSolutionTemplate })),
104
+ "cardList": () => import("./infographic-feature-list-MVJ3GQVK.js").then((module) => ({ default: module.InfographicFeatureListTemplate })),
105
+ "steps": () => import("./infographic-steps-IT23RFV6.js").then((module) => ({ default: module.InfographicStepsTemplate })),
106
+ "ctaLogo": () => import("./cta-logo-JIG22SWA.js").then((module) => ({ default: module.CtaLogoTemplate })),
107
+ "ctaMedia": () => import("./cta-media-GIHQTPPK.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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-CTEYFVUY.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";