@vanillaskyai/video 0.5.2 → 0.5.4

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 (63) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{bg-confetti-KTHLUJPO.js → bg-confetti-572VDSYM.js} +1 -1
  3. package/dist/{bg-emoji-AW7374DZ.js → bg-emoji-T4IEJ6U2.js} +1 -1
  4. package/dist/{bg-media-KGYE6UVS.js → bg-media-ILOMGMR4.js} +5 -5
  5. package/dist/{brand-message-AY43ZQR2.js → brand-message-M2YADSZX.js} +3 -3
  6. package/dist/{chart-bar-Z42RDRQT.js → chart-bar-25ZZSPOC.js} +5 -5
  7. package/dist/{chart-counter-X7NAOQ2C.js → chart-counter-GFEXZEJK.js} +5 -5
  8. package/dist/{chart-progress-ring-7NSNNHL4.js → chart-progress-ring-IZZLYZPX.js} +5 -5
  9. package/dist/check-runtime.js +2 -1
  10. package/dist/{chunk-D6I2UQ5W.js → chunk-3OU7HIEB.js} +3 -2
  11. package/dist/{chunk-K6YVQODK.js → chunk-4M6HDFQU.js} +20 -3
  12. package/dist/{chunk-IJM4B2ZN.js → chunk-MFYFZQHM.js} +1 -1
  13. package/dist/{chunk-4AODC6MS.js → chunk-MT2Z4A5X.js} +10 -6
  14. package/dist/{compose-video-KMQEDOI7.js → compose-video-JWIEDTEJ.js} +1 -1
  15. package/dist/{cta-logo-KNBLXUJU.js → cta-logo-MR45BN3J.js} +3 -3
  16. package/dist/{cta-media-NY4ASBGG.js → cta-media-BI3SZKTA.js} +5 -5
  17. package/dist/{incoming-call-KWOXLGJN.js → incoming-call-NF6Z2OAF.js} +3 -3
  18. package/dist/{infographic-before-after-OEM4DSTZ.js → infographic-before-after-FQXCQ2CY.js} +1 -1
  19. package/dist/{infographic-feature-list-ZZ25JRYQ.js → infographic-feature-list-XQZEMDCM.js} +5 -5
  20. package/dist/{infographic-problem-solution-L3RLFDPE.js → infographic-problem-solution-V67AFFGA.js} +3 -3
  21. package/dist/{infographic-stat-row-3OL3TNSH.js → infographic-stat-row-H7PAX6LC.js} +5 -5
  22. package/dist/{infographic-steps-LMBSW22P.js → infographic-steps-LI2SVPET.js} +5 -5
  23. package/dist/{prompt-input-XCQ6TS2L.js → prompt-input-3IRVZIBB.js} +3 -3
  24. package/dist/react.js +28 -27
  25. package/dist/{reaction-YL6YPGPB.js → reaction-TBZSTYWU.js} +3 -3
  26. package/dist/server.js +1 -1
  27. package/dist/{showcase-code-EFVHRJUM.js → showcase-code-JM47BEVJ.js} +5 -5
  28. package/dist/{showcase-phone-CTHXHEBT.js → showcase-phone-HH5J3JEG.js} +5 -5
  29. package/dist/{showcase-terminal-XAMPADHN.js → showcase-terminal-ZNI2RSTM.js} +5 -5
  30. package/dist/{showcase-web-LAKHYXSD.js → showcase-web-E5A3AOGH.js} +5 -5
  31. package/dist/{social-milestone-EOBEN7CX.js → social-milestone-4DQIIIHI.js} +3 -3
  32. package/dist/{social-notification-MELRWIB6.js → social-notification-2S7DA2NX.js} +3 -3
  33. package/dist/{social-review-stack-H3U437VT.js → social-review-stack-T4PEVP2X.js} +3 -3
  34. package/dist/{social-testimonial-GNNMKMDD.js → social-testimonial-GINCBMWU.js} +3 -3
  35. package/dist/{social-tweet-PBUKKPT3.js → social-tweet-TQHHY6OG.js} +3 -3
  36. package/dist/test.js +1 -1
  37. package/docs/motion-and-effects.md +12 -2
  38. package/examples/nextjs-quickstart/package.json +1 -1
  39. package/package.json +1 -1
  40. package/registry/items/backgrounds.json +1 -1
  41. package/registry/items/barChart.json +1 -1
  42. package/registry/items/bigNumber.json +1 -1
  43. package/registry/items/brandMessage.json +1 -1
  44. package/registry/items/cardList.json +1 -1
  45. package/registry/items/codeEditor.json +1 -1
  46. package/registry/items/ctaLogo.json +1 -1
  47. package/registry/items/ctaMedia.json +1 -1
  48. package/registry/items/incomingCall.json +1 -1
  49. package/registry/items/media.json +1 -1
  50. package/registry/items/milestone.json +1 -1
  51. package/registry/items/notification.json +1 -1
  52. package/registry/items/phoneMockup.json +1 -1
  53. package/registry/items/problemSolution.json +1 -1
  54. package/registry/items/progressRing.json +1 -1
  55. package/registry/items/promptInput.json +1 -1
  56. package/registry/items/reaction.json +1 -1
  57. package/registry/items/reviewStack.json +1 -1
  58. package/registry/items/steps.json +1 -1
  59. package/registry/items/terminal.json +1 -1
  60. package/registry/items/testimonial.json +1 -1
  61. package/registry/items/tripleStats.json +1 -1
  62. package/registry/items/tweet.json +1 -1
  63. package/registry/items/webMockup.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ VanillaSky follows semantic versioning. This changelog begins with the 0.1 beta.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.5.4
8
+
9
+ - Prevents Mobile Safari from holding outgoing and incoming scene video
10
+ decoders at the same time. Video-to-video cuts use the preloaded matching
11
+ poster on iPhone and iPad, while desktop media preroll and crossfades remain
12
+ unchanged.
13
+
14
+ ## 0.5.3
15
+
16
+ - Makes `crossfade` the default for generated videos and mounts changed media
17
+ invisibly before every contiguous cut, including templates that own their
18
+ transition. This extends the existing media warm-up window so the browser can
19
+ decode the incoming backdrop and replace its stock poster with the real first
20
+ frame while still hidden, instead of flashing the gradient or visibly swapping
21
+ crops after the cut. Making camera motion opt-in also removes the scale reset
22
+ that could look like a quick pullback during the fade.
23
+
7
24
  ## 0.5.2
8
25
 
9
26
  - Refactors composition state transitions into a deterministic, directly
@@ -8,7 +8,7 @@ import {
8
8
  import "./chunk-L5BTTCZV.js";
9
9
  import {
10
10
  BrandGradientOverlay
11
- } from "./chunk-IJM4B2ZN.js";
11
+ } from "./chunk-MFYFZQHM.js";
12
12
  import "./chunk-XTOXFMLM.js";
13
13
  import {
14
14
  resolveTokens
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-L5BTTCZV.js";
10
10
  import {
11
11
  BrandGradientOverlay
12
- } from "./chunk-IJM4B2ZN.js";
12
+ } from "./chunk-MFYFZQHM.js";
13
13
  import "./chunk-XTOXFMLM.js";
14
14
  import {
15
15
  resolveTokens
@@ -1,10 +1,7 @@
1
1
  import {
2
2
  SceneBackground,
3
3
  getMediaBackgroundProps
4
- } from "./chunk-4AODC6MS.js";
5
- import {
6
- hasSceneMedia
7
- } from "./chunk-35LIYILY.js";
4
+ } from "./chunk-MT2Z4A5X.js";
8
5
  import {
9
6
  ConfettiLayer
10
7
  } from "./chunk-CJ7F2CE6.js";
@@ -13,8 +10,11 @@ import {
13
10
  TemplateText
14
11
  } from "./chunk-TCEHK2BW.js";
15
12
  import "./chunk-L5BTTCZV.js";
16
- import "./chunk-IJM4B2ZN.js";
13
+ import "./chunk-MFYFZQHM.js";
17
14
  import "./chunk-XTOXFMLM.js";
15
+ import {
16
+ hasSceneMedia
17
+ } from "./chunk-35LIYILY.js";
18
18
  import {
19
19
  resolveTokens
20
20
  } from "./chunk-XWWLKRNU.js";
@@ -4,15 +4,15 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-4AODC6MS.js";
8
- import "./chunk-35LIYILY.js";
7
+ } from "./chunk-MT2Z4A5X.js";
9
8
  import {
10
9
  renderWithEmoji
11
10
  } from "./chunk-L5BTTCZV.js";
12
- import "./chunk-IJM4B2ZN.js";
11
+ import "./chunk-MFYFZQHM.js";
13
12
  import {
14
13
  interpolate
15
14
  } from "./chunk-XTOXFMLM.js";
15
+ import "./chunk-35LIYILY.js";
16
16
  import "./chunk-XWWLKRNU.js";
17
17
 
18
18
  // src/visual-system/primitives/typography/BrandMessageBubble.tsx
@@ -1,10 +1,7 @@
1
1
  import {
2
2
  SceneBackground,
3
3
  getMediaBackgroundProps
4
- } from "./chunk-4AODC6MS.js";
5
- import {
6
- hasSceneMedia
7
- } from "./chunk-35LIYILY.js";
4
+ } from "./chunk-MT2Z4A5X.js";
8
5
  import {
9
6
  TemplateText
10
7
  } from "./chunk-TCEHK2BW.js";
@@ -12,12 +9,15 @@ import "./chunk-L5BTTCZV.js";
12
9
  import {
13
10
  TOP_TEXT_AREA_RATIO,
14
11
  withOpacity
15
- } from "./chunk-IJM4B2ZN.js";
12
+ } from "./chunk-MFYFZQHM.js";
16
13
  import {
17
14
  SPRING_SNAPPY,
18
15
  interpolate,
19
16
  spring
20
17
  } from "./chunk-XTOXFMLM.js";
18
+ import {
19
+ hasSceneMedia
20
+ } from "./chunk-35LIYILY.js";
21
21
  import {
22
22
  resolveTokens
23
23
  } from "./chunk-XWWLKRNU.js";
@@ -4,10 +4,7 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-4AODC6MS.js";
8
- import {
9
- hasSceneMedia
10
- } from "./chunk-35LIYILY.js";
7
+ } from "./chunk-MT2Z4A5X.js";
11
8
  import {
12
9
  ConfettiLayer
13
10
  } from "./chunk-CJ7F2CE6.js";
@@ -19,11 +16,14 @@ import "./chunk-L5BTTCZV.js";
19
16
  import {
20
17
  TOP_TEXT_AREA_RATIO,
21
18
  withOpacity
22
- } from "./chunk-IJM4B2ZN.js";
19
+ } from "./chunk-MFYFZQHM.js";
23
20
  import {
24
21
  interpolate,
25
22
  spring
26
23
  } from "./chunk-XTOXFMLM.js";
24
+ import {
25
+ hasSceneMedia
26
+ } from "./chunk-35LIYILY.js";
27
27
  import {
28
28
  MEDIA_TEXT_SHADOW,
29
29
  TOKEN_DEFAULTS,
@@ -5,10 +5,7 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-4AODC6MS.js";
9
- import {
10
- hasSceneMedia
11
- } from "./chunk-35LIYILY.js";
8
+ } from "./chunk-MT2Z4A5X.js";
12
9
  import {
13
10
  TemplateText
14
11
  } from "./chunk-TCEHK2BW.js";
@@ -16,10 +13,13 @@ import "./chunk-L5BTTCZV.js";
16
13
  import {
17
14
  TOP_TEXT_AREA_RATIO,
18
15
  withOpacity
19
- } from "./chunk-IJM4B2ZN.js";
16
+ } from "./chunk-MFYFZQHM.js";
20
17
  import {
21
18
  interpolate
22
19
  } from "./chunk-XTOXFMLM.js";
20
+ import {
21
+ hasSceneMedia
22
+ } from "./chunk-35LIYILY.js";
23
23
  import {
24
24
  TOKEN_DEFAULTS,
25
25
  resolveTokens
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  VideoFrame
3
- } from "./chunk-K6YVQODK.js";
3
+ } from "./chunk-4M6HDFQU.js";
4
+ import "./chunk-35LIYILY.js";
4
5
  import "./chunk-XWWLKRNU.js";
5
6
  import "./chunk-SPVTJH3F.js";
6
7
  import {
@@ -223,8 +223,9 @@ function buildInitialComposition(input, audio, snapshotRetention, closerReserveS
223
223
  brand: resolveVideoBrand(input.brand),
224
224
  density: input.style?.density ?? "normal",
225
225
  motion: input.style?.motion ?? "normal",
226
- defaultBackgroundEffect: input.style?.backgroundEffect ?? "slow-zoom-in",
227
- defaultTextArchetype: input.style?.textArchetype ?? "subtle"
226
+ defaultBackgroundEffect: input.style?.backgroundEffect ?? "static",
227
+ defaultTextArchetype: input.style?.textArchetype ?? "subtle",
228
+ defaultTransition: "crossfade"
228
229
  },
229
230
  meta
230
231
  },
@@ -1,3 +1,6 @@
1
+ import {
2
+ resolveMediaType
3
+ } from "./chunk-35LIYILY.js";
1
4
  import {
2
5
  resolveDensity
3
6
  } from "./chunk-XWWLKRNU.js";
@@ -55,6 +58,16 @@ function brandBackgroundFallback(config) {
55
58
  function sceneHasBackdrop(range) {
56
59
  return String(range.scene.variables.mediaType || "auto") !== "gradient" && String(range.scene.variables.mediaUrl || "").trim() !== "";
57
60
  }
61
+ function sceneHasVideoBackdrop(range) {
62
+ return resolveMediaType(
63
+ String(range.scene.variables.mediaType || "auto"),
64
+ String(range.scene.variables.mediaUrl || "")
65
+ ) === "video";
66
+ }
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
+ }
58
71
  function sceneBackgroundChanges(left, right) {
59
72
  const mediaUrl = (range) => String(range.scene.variables.mediaType || "auto") === "gradient" ? "" : String(range.scene.variables.mediaUrl || "");
60
73
  return mediaUrl(left) !== mediaUrl(right);
@@ -173,11 +186,12 @@ function VideoFrame({
173
186
  const next = activeIndex < timeline.length - 1 ? timeline[activeIndex + 1] : void 0;
174
187
  const activeTemplate = kit.getTemplate(active.scene.templateId);
175
188
  const nextTemplate = next ? kit.getTemplate(next.scene.templateId) : void 0;
176
- const contiguousNext = next && rangesAreContiguous(active, next) && activeTemplate.usesGlobalTransition && activeTemplate.transitionTiming && nextTemplate?.usesGlobalTransition && nextTemplate.transitionTiming ? next : void 0;
189
+ const contiguousNext = next && rangesAreContiguous(active, next) ? next : void 0;
190
+ const transitionableNext = contiguousNext && activeTemplate.usesGlobalTransition && activeTemplate.transitionTiming && nextTemplate?.usesGlobalTransition && nextTemplate.transitionTiming ? contiguousNext : void 0;
177
191
  const activeTiming = activeTemplate.transitionTiming;
178
192
  const nextTiming = nextTemplate?.transitionTiming;
179
193
  const eligibleNextTransition = Boolean(
180
- transitionEnabled && contiguousNext && activeTiming && nextTiming && sceneBackgroundChanges(active, contiguousNext)
194
+ transitionEnabled && transitionableNext && activeTiming && nextTiming && sceneBackgroundChanges(active, transitionableNext)
181
195
  );
182
196
  const blendDuration = Math.min(
183
197
  SCENE_TRANSITION_SECONDS,
@@ -190,8 +204,11 @@ function VideoFrame({
190
204
  );
191
205
  const prerollDuration = prerollsNext ? Math.min(Math.max(MEDIA_PREROLL_SECONDS, blendDuration), Math.max(0, duration)) : blendDuration;
192
206
  const prerollStart = active.end - prerollDuration;
207
+ const decoderConstrainedTransition = Boolean(
208
+ contiguousNext && limitsConcurrentVideoDecoders() && sceneHasVideoBackdrop(active) && sceneHasVideoBackdrop(contiguousNext)
209
+ );
193
210
  const mountingNext = Boolean(
194
- contiguousNext && time >= prerollStart && time < blendEnd && (eligibleNextTransition || prerollsNext)
211
+ contiguousNext && !decoderConstrainedTransition && time >= prerollStart && time < blendEnd && (eligibleNextTransition || prerollsNext)
195
212
  );
196
213
  const previewingNext = Boolean(
197
214
  eligibleNextTransition && time >= blendStart && time < blendEnd
@@ -147,7 +147,7 @@ function getDriftTransform(progress, direction) {
147
147
  }
148
148
  function getBackgroundTransform(effect, progress, beatIntensity = 0, sceneIndex = 0) {
149
149
  const dir = DIRECTIONS[sceneIndex % DIRECTIONS.length];
150
- const resolved = effect ?? "slow-zoom-in";
150
+ const resolved = effect ?? "static";
151
151
  switch (resolved) {
152
152
  case "slow-zoom-in":
153
153
  return {
@@ -1,10 +1,10 @@
1
- import {
2
- resolveMediaType
3
- } from "./chunk-35LIYILY.js";
4
1
  import {
5
2
  BrandGradientOverlay,
6
3
  getBackgroundTransform
7
- } from "./chunk-IJM4B2ZN.js";
4
+ } from "./chunk-MFYFZQHM.js";
5
+ import {
6
+ resolveMediaType
7
+ } from "./chunk-35LIYILY.js";
8
8
 
9
9
  // src/visual-system/scene-templates/scene-background.tsx
10
10
  import { useEffect, useRef, useState } from "react";
@@ -108,6 +108,7 @@ var SceneBackground = ({
108
108
  const [mediaPaint, setMediaPaint] = useState(
109
109
  () => initialMediaPaint(wantsMedia, resolved, mediaUrl, mediaPoster)
110
110
  );
111
+ const [decodedVideoUrl, setDecodedVideoUrl] = useState();
111
112
  useEffect(() => {
112
113
  setMediaPaint(initialMediaPaint(wantsMedia, resolved, mediaUrl, mediaPoster));
113
114
  if (!wantsMedia || resolved !== "photo") return;
@@ -187,12 +188,15 @@ var SceneBackground = ({
187
188
  {
188
189
  ref: videoRef,
189
190
  src: mediaUrl,
190
- poster: mediaPoster || void 0,
191
+ poster: decodedVideoUrl === mediaUrl ? void 0 : mediaPoster || void 0,
191
192
  muted: true,
192
193
  loop: true,
193
194
  playsInline: true,
194
195
  preload: "auto",
195
- onLoadedData: () => setMediaPaint("ready"),
196
+ onLoadedData: () => {
197
+ setDecodedVideoUrl(mediaUrl);
198
+ setMediaPaint("ready");
199
+ },
196
200
  onError: () => setMediaPaint("failed"),
197
201
  "data-media-position": mediaPosition,
198
202
  style: {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createVideo
3
- } from "./chunk-D6I2UQ5W.js";
3
+ } from "./chunk-3OU7HIEB.js";
4
4
  import "./chunk-E7CL7UPB.js";
5
5
  import "./chunk-FZHMQFG3.js";
6
6
  import "./chunk-G66Z5CWR.js";
@@ -4,14 +4,14 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-4AODC6MS.js";
8
- import "./chunk-35LIYILY.js";
9
- import "./chunk-IJM4B2ZN.js";
7
+ } from "./chunk-MT2Z4A5X.js";
8
+ import "./chunk-MFYFZQHM.js";
10
9
  import {
11
10
  SPRING_SMOOTH,
12
11
  interpolate,
13
12
  spring
14
13
  } from "./chunk-XTOXFMLM.js";
14
+ import "./chunk-35LIYILY.js";
15
15
  import {
16
16
  TOKEN_DEFAULTS,
17
17
  resolveTokens
@@ -5,20 +5,20 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-4AODC6MS.js";
9
- import {
10
- hasSceneMedia
11
- } from "./chunk-35LIYILY.js";
8
+ } from "./chunk-MT2Z4A5X.js";
12
9
  import {
13
10
  TemplateText
14
11
  } from "./chunk-TCEHK2BW.js";
15
12
  import "./chunk-L5BTTCZV.js";
16
- import "./chunk-IJM4B2ZN.js";
13
+ import "./chunk-MFYFZQHM.js";
17
14
  import {
18
15
  SPRING_SMOOTH,
19
16
  interpolate,
20
17
  spring
21
18
  } from "./chunk-XTOXFMLM.js";
19
+ import {
20
+ hasSceneMedia
21
+ } from "./chunk-35LIYILY.js";
22
22
  import {
23
23
  TOKEN_DEFAULTS,
24
24
  resolveTokens
@@ -5,15 +5,15 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-4AODC6MS.js";
9
- import "./chunk-35LIYILY.js";
10
- import "./chunk-IJM4B2ZN.js";
8
+ } from "./chunk-MT2Z4A5X.js";
9
+ import "./chunk-MFYFZQHM.js";
11
10
  import {
12
11
  SPRING_BOUNCY,
13
12
  SPRING_SMOOTH,
14
13
  interpolate,
15
14
  spring
16
15
  } from "./chunk-XTOXFMLM.js";
16
+ import "./chunk-35LIYILY.js";
17
17
  import {
18
18
  resolveTokens
19
19
  } from "./chunk-XWWLKRNU.js";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-L5BTTCZV.js";
14
14
  import {
15
15
  gradientBackground
16
- } from "./chunk-IJM4B2ZN.js";
16
+ } from "./chunk-MFYFZQHM.js";
17
17
  import {
18
18
  interpolate,
19
19
  spring
@@ -7,21 +7,21 @@ import {
7
7
  import {
8
8
  SceneBackground,
9
9
  getMediaBackgroundProps
10
- } from "./chunk-4AODC6MS.js";
11
- import {
12
- hasSceneMedia
13
- } from "./chunk-35LIYILY.js";
10
+ } from "./chunk-MT2Z4A5X.js";
14
11
  import {
15
12
  TemplateText
16
13
  } from "./chunk-TCEHK2BW.js";
17
14
  import {
18
15
  Emoji
19
16
  } from "./chunk-L5BTTCZV.js";
20
- import "./chunk-IJM4B2ZN.js";
17
+ import "./chunk-MFYFZQHM.js";
21
18
  import {
22
19
  interpolate,
23
20
  spring
24
21
  } from "./chunk-XTOXFMLM.js";
22
+ import {
23
+ hasSceneMedia
24
+ } from "./chunk-35LIYILY.js";
25
25
  import {
26
26
  TOKEN_DEFAULTS,
27
27
  resolveTokens
@@ -4,17 +4,17 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-4AODC6MS.js";
8
- import "./chunk-35LIYILY.js";
7
+ } from "./chunk-MT2Z4A5X.js";
9
8
  import {
10
9
  smoothSize
11
10
  } from "./chunk-TCEHK2BW.js";
12
11
  import "./chunk-L5BTTCZV.js";
13
- import "./chunk-IJM4B2ZN.js";
12
+ import "./chunk-MFYFZQHM.js";
14
13
  import {
15
14
  interpolate,
16
15
  spring
17
16
  } from "./chunk-XTOXFMLM.js";
17
+ import "./chunk-35LIYILY.js";
18
18
  import {
19
19
  TOKEN_DEFAULTS,
20
20
  resolveTokens
@@ -1,10 +1,7 @@
1
1
  import {
2
2
  SceneBackground,
3
3
  getMediaBackgroundProps
4
- } from "./chunk-4AODC6MS.js";
5
- import {
6
- hasSceneMedia
7
- } from "./chunk-35LIYILY.js";
4
+ } from "./chunk-MT2Z4A5X.js";
8
5
  import {
9
6
  TemplateText
10
7
  } from "./chunk-TCEHK2BW.js";
@@ -12,11 +9,14 @@ import "./chunk-L5BTTCZV.js";
12
9
  import {
13
10
  TOP_TEXT_AREA_RATIO,
14
11
  withOpacity
15
- } from "./chunk-IJM4B2ZN.js";
12
+ } from "./chunk-MFYFZQHM.js";
16
13
  import {
17
14
  interpolate,
18
15
  spring
19
16
  } from "./chunk-XTOXFMLM.js";
17
+ import {
18
+ hasSceneMedia
19
+ } from "./chunk-35LIYILY.js";
20
20
  import {
21
21
  TOKEN_DEFAULTS,
22
22
  resolveTokens
@@ -8,10 +8,7 @@ import {
8
8
  import {
9
9
  SceneBackground,
10
10
  getMediaBackgroundProps
11
- } from "./chunk-4AODC6MS.js";
12
- import {
13
- hasSceneMedia
14
- } from "./chunk-35LIYILY.js";
11
+ } from "./chunk-MT2Z4A5X.js";
15
12
  import {
16
13
  TemplateText
17
14
  } from "./chunk-TCEHK2BW.js";
@@ -22,11 +19,14 @@ import {
22
19
  TOP_TEXT_AREA_RATIO,
23
20
  autoTextColor,
24
21
  withOpacity
25
- } from "./chunk-IJM4B2ZN.js";
22
+ } from "./chunk-MFYFZQHM.js";
26
23
  import {
27
24
  interpolate,
28
25
  spring
29
26
  } from "./chunk-XTOXFMLM.js";
27
+ import {
28
+ hasSceneMedia
29
+ } from "./chunk-35LIYILY.js";
30
30
  import {
31
31
  TOKEN_DEFAULTS,
32
32
  resolveTokens
@@ -4,15 +4,15 @@ import {
4
4
  import {
5
5
  SceneBackground,
6
6
  getMediaBackgroundProps
7
- } from "./chunk-4AODC6MS.js";
8
- import "./chunk-35LIYILY.js";
9
- import "./chunk-IJM4B2ZN.js";
7
+ } from "./chunk-MT2Z4A5X.js";
8
+ import "./chunk-MFYFZQHM.js";
10
9
  import {
11
10
  SPRING_BOUNCY,
12
11
  SPRING_SMOOTH,
13
12
  interpolate,
14
13
  spring
15
14
  } from "./chunk-XTOXFMLM.js";
15
+ import "./chunk-35LIYILY.js";
16
16
  import {
17
17
  resolveTokens
18
18
  } from "./chunk-XWWLKRNU.js";
package/dist/react.js CHANGED
@@ -24,7 +24,8 @@ import {
24
24
  import {
25
25
  VideoFrame,
26
26
  getDimensions
27
- } from "./chunk-K6YVQODK.js";
27
+ } from "./chunk-4M6HDFQU.js";
28
+ import "./chunk-35LIYILY.js";
28
29
  import {
29
30
  fontStack
30
31
  } from "./chunk-XWWLKRNU.js";
@@ -76,34 +77,34 @@ import { createElement } from "react";
76
77
 
77
78
  // src/visual-system/catalog/builtin-loaders.generated.ts
78
79
  var GENERATED_BUILTIN_TEMPLATE_LOADERS = {
79
- "media": () => import("./bg-media-KGYE6UVS.js").then((module) => ({ default: module.BgMediaTemplate })),
80
- "reaction": () => import("./reaction-YL6YPGPB.js").then((module) => ({ default: module.ReactionTemplate })),
81
- "confetti": () => import("./bg-confetti-KTHLUJPO.js").then((module) => ({ default: module.BgConfettiTemplate })),
82
- "emojiBurst": () => import("./bg-emoji-AW7374DZ.js").then((module) => ({ default: module.BgEmojiTemplate })),
83
- "bigNumber": () => import("./chart-counter-X7NAOQ2C.js").then((module) => ({ default: module.ChartCounterTemplate })),
84
- "barChart": () => import("./chart-bar-Z42RDRQT.js").then((module) => ({ default: module.ChartBarTemplate })),
85
- "progressRing": () => import("./chart-progress-ring-7NSNNHL4.js").then((module) => ({ default: module.ChartProgressRingTemplate })),
86
- "phoneMockup": () => import("./showcase-phone-CTHXHEBT.js").then((module) => ({ default: module.ShowcasePhoneTemplate })),
87
- "webMockup": () => import("./showcase-web-LAKHYXSD.js").then((module) => ({ default: module.ShowcaseWebTemplate })),
88
- "codeEditor": () => import("./showcase-code-EFVHRJUM.js").then((module) => ({ default: module.ShowcaseCodeTemplate })),
89
- "terminal": () => import("./showcase-terminal-XAMPADHN.js").then((module) => ({ default: module.ShowcaseTerminalTemplate })),
90
- "tweet": () => import("./social-tweet-PBUKKPT3.js").then((module) => ({ default: module.SocialTweetTemplate })),
91
- "notification": () => import("./social-notification-MELRWIB6.js").then((module) => ({ default: module.SocialNotificationTemplate })),
80
+ "media": () => import("./bg-media-ILOMGMR4.js").then((module) => ({ default: module.BgMediaTemplate })),
81
+ "reaction": () => import("./reaction-TBZSTYWU.js").then((module) => ({ default: module.ReactionTemplate })),
82
+ "confetti": () => import("./bg-confetti-572VDSYM.js").then((module) => ({ default: module.BgConfettiTemplate })),
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 })),
92
93
  "chatMessenger": () => import("./social-conversation-75SD2637.js").then((module) => ({ default: module.SocialConversationTemplate })),
93
94
  "chatWhatsapp": () => import("./social-conversation-75SD2637.js").then((module) => ({ default: module.SocialConversationTemplate })),
94
- "milestone": () => import("./social-milestone-EOBEN7CX.js").then((module) => ({ default: module.SocialMilestoneTemplate })),
95
- "reviewStack": () => import("./social-review-stack-H3U437VT.js").then((module) => ({ default: module.SocialReviewStackTemplate })),
96
- "testimonial": () => import("./social-testimonial-GNNMKMDD.js").then((module) => ({ default: module.SocialTestimonialTemplate })),
97
- "incomingCall": () => import("./incoming-call-KWOXLGJN.js").then((module) => ({ default: module.IncomingCallTemplate })),
98
- "brandMessage": () => import("./brand-message-AY43ZQR2.js").then((module) => ({ default: module.BrandMessageTemplate })),
99
- "promptInput": () => import("./prompt-input-XCQ6TS2L.js").then((module) => ({ default: module.PromptInputTemplate })),
100
- "beforeAfter": () => import("./infographic-before-after-OEM4DSTZ.js").then((module) => ({ default: module.InfographicBeforeAfterTemplate })),
101
- "tripleStats": () => import("./infographic-stat-row-3OL3TNSH.js").then((module) => ({ default: module.InfographicStatRowTemplate })),
102
- "problemSolution": () => import("./infographic-problem-solution-L3RLFDPE.js").then((module) => ({ default: module.InfographicProblemSolutionTemplate })),
103
- "cardList": () => import("./infographic-feature-list-ZZ25JRYQ.js").then((module) => ({ default: module.InfographicFeatureListTemplate })),
104
- "steps": () => import("./infographic-steps-LMBSW22P.js").then((module) => ({ default: module.InfographicStepsTemplate })),
105
- "ctaLogo": () => import("./cta-logo-KNBLXUJU.js").then((module) => ({ default: module.CtaLogoTemplate })),
106
- "ctaMedia": () => import("./cta-media-NY4ASBGG.js").then((module) => ({ default: module.CtaMediaTemplate }))
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 })),
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 }))
107
108
  };
108
109
 
109
110
  // src/visual-system/catalog/builtin-player.generated.ts
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  SceneBackground
3
- } from "./chunk-4AODC6MS.js";
4
- import "./chunk-35LIYILY.js";
3
+ } from "./chunk-MT2Z4A5X.js";
5
4
  import {
6
5
  TemplateText
7
6
  } from "./chunk-TCEHK2BW.js";
8
7
  import "./chunk-L5BTTCZV.js";
9
- import "./chunk-IJM4B2ZN.js";
8
+ import "./chunk-MFYFZQHM.js";
10
9
  import "./chunk-XTOXFMLM.js";
10
+ import "./chunk-35LIYILY.js";
11
11
  import {
12
12
  resolveTokens
13
13
  } from "./chunk-XWWLKRNU.js";
package/dist/server.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-34O5BY6X.js";
4
4
  import {
5
5
  createVideo
6
- } from "./chunk-D6I2UQ5W.js";
6
+ } from "./chunk-3OU7HIEB.js";
7
7
  import "./chunk-E7CL7UPB.js";
8
8
  import {
9
9
  BUILTIN_SERVER_TEMPLATE_KIT,
@@ -5,19 +5,19 @@ import {
5
5
  import {
6
6
  SceneBackground,
7
7
  getMediaBackgroundProps
8
- } from "./chunk-4AODC6MS.js";
9
- import {
10
- hasSceneMedia
11
- } from "./chunk-35LIYILY.js";
8
+ } from "./chunk-MT2Z4A5X.js";
12
9
  import {
13
10
  TemplateText
14
11
  } from "./chunk-TCEHK2BW.js";
15
12
  import "./chunk-L5BTTCZV.js";
16
- import "./chunk-IJM4B2ZN.js";
13
+ import "./chunk-MFYFZQHM.js";
17
14
  import {
18
15
  interpolate,
19
16
  spring
20
17
  } from "./chunk-XTOXFMLM.js";
18
+ import {
19
+ hasSceneMedia
20
+ } from "./chunk-35LIYILY.js";
21
21
  import {
22
22
  resolveTokens
23
23
  } from "./chunk-XWWLKRNU.js";