egaki 0.5.0 → 0.7.0

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 (280) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/dist/cli/cache-utils.d.ts +33 -0
  3. package/dist/cli/cache-utils.d.ts.map +1 -0
  4. package/dist/cli/cache-utils.js +157 -0
  5. package/dist/cli/cached-generate.d.ts +105 -0
  6. package/dist/cli/cached-generate.d.ts.map +1 -0
  7. package/dist/cli/cached-generate.js +208 -0
  8. package/dist/cli/cached-generate.test.d.ts +11 -0
  9. package/dist/cli/cached-generate.test.d.ts.map +1 -0
  10. package/dist/cli/cached-generate.test.js +431 -0
  11. package/dist/cli/cartesia-provider.d.ts +16 -0
  12. package/dist/cli/cartesia-provider.d.ts.map +1 -0
  13. package/dist/cli/cartesia-provider.js +184 -0
  14. package/dist/cli/chatgpt-auth.d.ts.map +1 -0
  15. package/dist/cli/cli.d.ts +4 -0
  16. package/dist/cli/cli.d.ts.map +1 -0
  17. package/dist/cli/cli.js +1329 -0
  18. package/dist/cli/clone-generate.d.ts +26 -0
  19. package/dist/cli/clone-generate.d.ts.map +1 -0
  20. package/dist/cli/clone-generate.js +148 -0
  21. package/dist/{credentials.d.ts → cli/credentials.d.ts} +11 -2
  22. package/dist/cli/credentials.d.ts.map +1 -0
  23. package/dist/{credentials.js → cli/credentials.js} +88 -5
  24. package/dist/cli/elevenlabs-speech-provider.d.ts +26 -0
  25. package/dist/cli/elevenlabs-speech-provider.d.ts.map +1 -0
  26. package/dist/cli/elevenlabs-speech-provider.js +199 -0
  27. package/dist/cli/generate.d.ts +140 -0
  28. package/dist/cli/generate.d.ts.map +1 -0
  29. package/dist/cli/generate.js +604 -0
  30. package/dist/cli/generate.test.d.ts +2 -0
  31. package/dist/cli/generate.test.d.ts.map +1 -0
  32. package/dist/cli/generate.test.js +131 -0
  33. package/dist/cli/login.d.ts.map +1 -0
  34. package/dist/{login.js → cli/login.js} +45 -4
  35. package/dist/cli/main.d.ts +3 -0
  36. package/dist/cli/main.d.ts.map +1 -0
  37. package/dist/cli/main.js +7 -0
  38. package/dist/cli/model-catalog.d.ts +141 -0
  39. package/dist/cli/model-catalog.d.ts.map +1 -0
  40. package/dist/cli/model-catalog.js +2135 -0
  41. package/dist/{models.d.ts → cli/models.d.ts} +16 -9
  42. package/dist/cli/models.d.ts.map +1 -0
  43. package/dist/cli/models.js +313 -0
  44. package/dist/cli/open-browser.d.ts.map +1 -0
  45. package/dist/cli/openai-speech-provider.d.ts +3 -0
  46. package/dist/cli/openai-speech-provider.d.ts.map +1 -0
  47. package/dist/cli/openai-speech-provider.js +28 -0
  48. package/dist/cli/separation-generate.d.ts +34 -0
  49. package/dist/cli/separation-generate.d.ts.map +1 -0
  50. package/dist/cli/separation-generate.js +117 -0
  51. package/dist/cli/speech-catalog.d.ts +35 -0
  52. package/dist/cli/speech-catalog.d.ts.map +1 -0
  53. package/dist/cli/speech-catalog.js +195 -0
  54. package/dist/cli/speech-generate.d.ts +86 -0
  55. package/dist/cli/speech-generate.d.ts.map +1 -0
  56. package/dist/cli/speech-generate.js +156 -0
  57. package/dist/cli/speech-models.d.ts +8 -0
  58. package/dist/cli/speech-models.d.ts.map +1 -0
  59. package/dist/cli/speech-models.js +109 -0
  60. package/dist/cli/speech-provider.test.d.ts +2 -0
  61. package/dist/cli/speech-provider.test.d.ts.map +1 -0
  62. package/dist/cli/speech-provider.test.js +197 -0
  63. package/dist/cli/subscription.d.ts.map +1 -0
  64. package/dist/cli/transcription-catalog.d.ts +35 -0
  65. package/dist/cli/transcription-catalog.d.ts.map +1 -0
  66. package/dist/cli/transcription-catalog.js +192 -0
  67. package/dist/cli/transcription-generate.d.ts +62 -0
  68. package/dist/cli/transcription-generate.d.ts.map +1 -0
  69. package/dist/cli/transcription-generate.js +144 -0
  70. package/dist/cli/transcription-models.d.ts +9 -0
  71. package/dist/cli/transcription-models.d.ts.map +1 -0
  72. package/dist/cli/transcription-models.js +100 -0
  73. package/dist/cli/transcription-providers.d.ts +22 -0
  74. package/dist/cli/transcription-providers.d.ts.map +1 -0
  75. package/dist/cli/transcription-providers.js +290 -0
  76. package/dist/cli/video-model-catalog.d.ts +2 -0
  77. package/dist/cli/video-model-catalog.d.ts.map +1 -0
  78. package/dist/cli/video-model-catalog.js +5 -0
  79. package/dist/cli/xai-auth.d.ts +29 -0
  80. package/dist/cli/xai-auth.d.ts.map +1 -0
  81. package/dist/cli/xai-auth.js +325 -0
  82. package/dist/vite/angled-screen.d.ts +57 -0
  83. package/dist/vite/angled-screen.d.ts.map +1 -0
  84. package/dist/vite/angled-screen.js +115 -0
  85. package/dist/vite/app.d.ts +51 -0
  86. package/dist/vite/app.d.ts.map +1 -0
  87. package/dist/vite/app.js +150 -0
  88. package/dist/vite/bands-shader.d.ts +47 -0
  89. package/dist/vite/bands-shader.d.ts.map +1 -0
  90. package/dist/vite/bands-shader.js +267 -0
  91. package/dist/vite/code-block.d.ts +107 -0
  92. package/dist/vite/code-block.d.ts.map +1 -0
  93. package/dist/vite/code-block.js +641 -0
  94. package/dist/vite/components.d.ts +36 -0
  95. package/dist/vite/components.d.ts.map +1 -0
  96. package/dist/vite/components.js +113 -0
  97. package/dist/vite/dispersion-rings-shader.d.ts +44 -0
  98. package/dist/vite/dispersion-rings-shader.d.ts.map +1 -0
  99. package/dist/vite/dispersion-rings-shader.js +282 -0
  100. package/dist/vite/easing-curves.d.ts +129 -0
  101. package/dist/vite/easing-curves.d.ts.map +1 -0
  102. package/dist/vite/easing-curves.js +584 -0
  103. package/dist/vite/easing-curves.test.d.ts +2 -0
  104. package/dist/vite/easing-curves.test.d.ts.map +1 -0
  105. package/dist/vite/easing-curves.test.js +200 -0
  106. package/dist/vite/generated-media-client.d.ts +35 -0
  107. package/dist/vite/generated-media-client.d.ts.map +1 -0
  108. package/dist/vite/generated-media-client.js +76 -0
  109. package/dist/vite/keyframes.d.ts +129 -0
  110. package/dist/vite/keyframes.d.ts.map +1 -0
  111. package/dist/vite/keyframes.js +194 -0
  112. package/dist/vite/layout-editor.d.ts +45 -0
  113. package/dist/vite/layout-editor.d.ts.map +1 -0
  114. package/dist/vite/layout-editor.js +587 -0
  115. package/dist/vite/layout-transition.d.ts +136 -0
  116. package/dist/vite/layout-transition.d.ts.map +1 -0
  117. package/dist/vite/layout-transition.js +581 -0
  118. package/dist/vite/liquid-gradient-shader.d.ts +62 -0
  119. package/dist/vite/liquid-gradient-shader.d.ts.map +1 -0
  120. package/dist/vite/liquid-gradient-shader.js +413 -0
  121. package/dist/vite/mdx-client.d.ts +15 -0
  122. package/dist/vite/mdx-client.d.ts.map +1 -0
  123. package/dist/vite/mdx-client.js +265 -0
  124. package/dist/vite/mdx-parse.d.ts +102 -0
  125. package/dist/vite/mdx-parse.d.ts.map +1 -0
  126. package/dist/vite/mdx-parse.js +251 -0
  127. package/dist/vite/mdx-provided-components.d.ts +18 -0
  128. package/dist/vite/mdx-provided-components.d.ts.map +1 -0
  129. package/dist/vite/mdx-provided-components.js +14 -0
  130. package/dist/vite/mdx-video.d.ts +327 -0
  131. package/dist/vite/mdx-video.d.ts.map +1 -0
  132. package/dist/vite/mdx-video.js +596 -0
  133. package/dist/vite/mdx-video.test.d.ts +9 -0
  134. package/dist/vite/mdx-video.test.d.ts.map +1 -0
  135. package/dist/vite/mdx-video.test.js +1945 -0
  136. package/dist/vite/media-components.d.ts +45 -0
  137. package/dist/vite/media-components.d.ts.map +1 -0
  138. package/dist/vite/media-components.js +355 -0
  139. package/dist/vite/media-duration-store.d.ts +66 -0
  140. package/dist/vite/media-duration-store.d.ts.map +1 -0
  141. package/dist/vite/media-duration-store.js +204 -0
  142. package/dist/vite/player-page.d.ts +35 -0
  143. package/dist/vite/player-page.d.ts.map +1 -0
  144. package/dist/vite/player-page.js +720 -0
  145. package/dist/vite/render-client.d.ts +18 -0
  146. package/dist/vite/render-client.d.ts.map +1 -0
  147. package/dist/vite/render-client.js +67 -0
  148. package/dist/vite/sdk.d.ts +221 -0
  149. package/dist/vite/sdk.d.ts.map +1 -0
  150. package/dist/vite/sdk.js +355 -0
  151. package/dist/vite/server-components.d.ts +55 -0
  152. package/dist/vite/server-components.d.ts.map +1 -0
  153. package/dist/vite/server-components.js +156 -0
  154. package/dist/vite/server-mdx.d.ts +74 -0
  155. package/dist/vite/server-mdx.d.ts.map +1 -0
  156. package/dist/vite/server-mdx.js +259 -0
  157. package/dist/vite/shader-renderer.d.ts +48 -0
  158. package/dist/vite/shader-renderer.d.ts.map +1 -0
  159. package/dist/vite/shader-renderer.js +411 -0
  160. package/dist/vite/store-hooks.d.ts +12 -0
  161. package/dist/vite/store-hooks.d.ts.map +1 -0
  162. package/dist/vite/store-hooks.js +93 -0
  163. package/dist/vite/store.d.ts +75 -0
  164. package/dist/vite/store.d.ts.map +1 -0
  165. package/dist/vite/store.js +52 -0
  166. package/dist/vite/store.test.d.ts +6 -0
  167. package/dist/vite/store.test.d.ts.map +1 -0
  168. package/dist/vite/store.test.js +172 -0
  169. package/dist/vite/tweakpane-hook.d.ts +94 -0
  170. package/dist/vite/tweakpane-hook.d.ts.map +1 -0
  171. package/dist/vite/tweakpane-hook.js +450 -0
  172. package/dist/vite/vite-plugin.d.ts +28 -0
  173. package/dist/vite/vite-plugin.d.ts.map +1 -0
  174. package/dist/vite/vite-plugin.js +538 -0
  175. package/dist/vite/wave-gradient-shader.d.ts +41 -0
  176. package/dist/vite/wave-gradient-shader.d.ts.map +1 -0
  177. package/dist/vite/wave-gradient-shader.js +207 -0
  178. package/package.json +103 -25
  179. package/skills/egaki/SKILL.md +162 -1
  180. package/src/cli/cache-utils.ts +169 -0
  181. package/src/cli/cached-generate.test.ts +531 -0
  182. package/src/cli/cached-generate.ts +348 -0
  183. package/src/cli/cartesia-provider.ts +249 -0
  184. package/src/cli/cli.ts +1818 -0
  185. package/src/cli/clone-generate.ts +202 -0
  186. package/src/{credentials.ts → cli/credentials.ts} +90 -7
  187. package/src/cli/elevenlabs-speech-provider.ts +243 -0
  188. package/src/cli/generate.test.ts +166 -0
  189. package/src/cli/generate.ts +912 -0
  190. package/src/{login.ts → cli/login.ts} +48 -3
  191. package/src/cli/main.ts +8 -0
  192. package/src/cli/model-catalog.ts +2336 -0
  193. package/src/cli/models.ts +408 -0
  194. package/src/cli/openai-speech-provider.ts +34 -0
  195. package/src/cli/separation-generate.ts +187 -0
  196. package/src/cli/speech-catalog.ts +253 -0
  197. package/src/cli/speech-generate.ts +275 -0
  198. package/src/cli/speech-models.ts +146 -0
  199. package/src/cli/speech-provider.test.ts +226 -0
  200. package/src/cli/transcription-catalog.ts +250 -0
  201. package/src/cli/transcription-generate.ts +214 -0
  202. package/src/cli/transcription-models.ts +136 -0
  203. package/src/cli/transcription-providers.ts +427 -0
  204. package/src/cli/video-model-catalog.ts +14 -0
  205. package/src/cli/xai-auth.ts +396 -0
  206. package/src/vite/angled-screen.tsx +214 -0
  207. package/src/vite/app.tsx +197 -0
  208. package/src/vite/bands-shader.tsx +319 -0
  209. package/src/vite/code-block.tsx +939 -0
  210. package/src/vite/components.tsx +278 -0
  211. package/src/vite/dispersion-rings-shader.tsx +331 -0
  212. package/src/vite/easing-curves.test.ts +232 -0
  213. package/src/vite/easing-curves.ts +743 -0
  214. package/src/vite/generated-media-client.tsx +121 -0
  215. package/src/vite/keyframes.tsx +347 -0
  216. package/src/vite/layout-editor.tsx +709 -0
  217. package/src/vite/layout-transition.tsx +706 -0
  218. package/src/vite/liquid-gradient-shader.tsx +474 -0
  219. package/src/vite/mdx-client.tsx +420 -0
  220. package/src/vite/mdx-parse.ts +343 -0
  221. package/src/vite/mdx-provided-components.ts +19 -0
  222. package/src/vite/mdx-video.test.tsx +2219 -0
  223. package/src/vite/mdx-video.tsx +976 -0
  224. package/src/vite/media-components.tsx +473 -0
  225. package/src/vite/media-duration-store.ts +225 -0
  226. package/src/vite/motion-timing.ts +194 -0
  227. package/src/vite/player-page.tsx +1107 -0
  228. package/src/vite/render-client.ts +84 -0
  229. package/src/vite/sdk.ts +598 -0
  230. package/src/vite/server-components.tsx +241 -0
  231. package/src/vite/server-mdx.ts +285 -0
  232. package/src/vite/shader-renderer.tsx +535 -0
  233. package/src/vite/store-hooks.ts +117 -0
  234. package/src/vite/store.test.ts +202 -0
  235. package/src/vite/store.ts +115 -0
  236. package/src/vite/styles.css +21 -0
  237. package/src/vite/tweakpane-hook.tsx +593 -0
  238. package/src/vite/virtual-modules.d.ts +30 -0
  239. package/src/vite/vite-plugin.ts +584 -0
  240. package/src/vite/wave-gradient-shader.tsx +253 -0
  241. package/README.md +0 -266
  242. package/dist/antigravity-auth.d.ts +0 -15
  243. package/dist/antigravity-auth.d.ts.map +0 -1
  244. package/dist/antigravity-auth.js +0 -544
  245. package/dist/antigravity-image.d.ts +0 -11
  246. package/dist/antigravity-image.d.ts.map +0 -1
  247. package/dist/antigravity-image.js +0 -285
  248. package/dist/chatgpt-auth.d.ts.map +0 -1
  249. package/dist/cli.d.ts +0 -3
  250. package/dist/cli.d.ts.map +0 -1
  251. package/dist/cli.js +0 -968
  252. package/dist/credentials.d.ts.map +0 -1
  253. package/dist/gateway-model-candidates.generated.d.ts +0 -11
  254. package/dist/gateway-model-candidates.generated.d.ts.map +0 -1
  255. package/dist/gateway-model-candidates.generated.js +0 -64
  256. package/dist/login.d.ts.map +0 -1
  257. package/dist/model-catalog.d.ts +0 -42
  258. package/dist/model-catalog.d.ts.map +0 -1
  259. package/dist/model-catalog.js +0 -1001
  260. package/dist/models.d.ts.map +0 -1
  261. package/dist/models.js +0 -246
  262. package/dist/open-browser.d.ts.map +0 -1
  263. package/dist/subscription.d.ts.map +0 -1
  264. package/dist/video-model-catalog.d.ts +0 -52
  265. package/dist/video-model-catalog.d.ts.map +0 -1
  266. package/dist/video-model-catalog.js +0 -306
  267. package/src/cli.ts +0 -1378
  268. package/src/model-catalog.ts +0 -1077
  269. package/src/models.ts +0 -309
  270. package/src/video-model-catalog.ts +0 -363
  271. /package/dist/{chatgpt-auth.d.ts → cli/chatgpt-auth.d.ts} +0 -0
  272. /package/dist/{chatgpt-auth.js → cli/chatgpt-auth.js} +0 -0
  273. /package/dist/{login.d.ts → cli/login.d.ts} +0 -0
  274. /package/dist/{open-browser.d.ts → cli/open-browser.d.ts} +0 -0
  275. /package/dist/{open-browser.js → cli/open-browser.js} +0 -0
  276. /package/dist/{subscription.d.ts → cli/subscription.d.ts} +0 -0
  277. /package/dist/{subscription.js → cli/subscription.js} +0 -0
  278. /package/src/{chatgpt-auth.ts → cli/chatgpt-auth.ts} +0 -0
  279. /package/src/{open-browser.ts → cli/open-browser.ts} +0 -0
  280. /package/src/{subscription.ts → cli/subscription.ts} +0 -0
@@ -0,0 +1,327 @@
1
+ /**
2
+ * Client-side video components for MDX rendering.
3
+ *
4
+ * Contains animation wrappers (enter/exit), element overrides for safe-mdx,
5
+ * and the components map builder. All marked 'use client' because animation
6
+ * components use Remotion hooks (useCurrentFrame, useVideoConfig).
7
+ *
8
+ * The server imports this file and gets client references for the components
9
+ * map. safe-mdx creates React elements with these references on the server;
10
+ * hooks execute on the client inside Remotion's Player render loop.
11
+ */
12
+ import { type ReactNode } from 'react';
13
+ import type { SafeMdxError } from 'safe-mdx';
14
+ import type { EagerModules } from 'safe-mdx/parse';
15
+ import { splitIntoSections, calculateTotalDuration, resolveAutoDurations, type MdxSection, type SplitResult, type VideoFrontmatter } from './mdx-parse.ts';
16
+ import { BlurReveal, MaskedSlideReveal, StaggeredFadeUp, ShimmerSweep } from './components.tsx';
17
+ import { AngledScreen } from './angled-screen.tsx';
18
+ import { CodeBlock, CODE_THEMES } from './code-block.tsx';
19
+ import { BandsShader } from './bands-shader.tsx';
20
+ import { WaveGradientShader } from './wave-gradient-shader.tsx';
21
+ import { LiquidGradientShader } from './liquid-gradient-shader.tsx';
22
+ import { DispersionRingsShader } from './dispersion-rings-shader.tsx';
23
+ export { splitIntoSections, calculateTotalDuration, resolveAutoDurations };
24
+ import { useTweakpane, TWEAKPANE_DISABLED } from './tweakpane-hook.tsx';
25
+ export { useTweakpane, TWEAKPANE_DISABLED };
26
+ export type { MdxSection, SplitResult, VideoFrontmatter, EagerModules, SafeMdxError };
27
+ declare global {
28
+ var __egakiMotionSeekTo: ((ms: number, scopeId?: string) => void) | undefined;
29
+ var __egakiMotionPrepareTime: ((ms: number) => void) | undefined;
30
+ var __egakiMotionRegistry: {
31
+ allAnimations: Set<any>;
32
+ scopeIdMap: WeakMap<any, string>;
33
+ wrappedStops: WeakSet<any>;
34
+ patched: boolean;
35
+ currentTimeMs: number | undefined;
36
+ } | undefined;
37
+ }
38
+ export declare function MotionTimingSync({ children }: {
39
+ children: ReactNode;
40
+ }): import("react").JSX.Element;
41
+ export type ServerSlots = Record<string, ReactNode>;
42
+ export declare const ServerSlotsContext: import("react").Context<ServerSlots>;
43
+ import { naturalThrowSamples, decelerateOvershootSamples, decelerateElasticSamples, accelerateImpulseSamples, accelerateElasticSamples, elasticSnapSamples, bounceSamples, bounceAnticipateSamples, bounceThrowSamples, impulseSlowSamples, impulseOvershootSamples, overshootSamples, overshootElasticSamples, overshootBouncySamples, lerpSamples } from './easing-curves.ts';
44
+ export { type ControlPoint, type EasingPreset, type Intensity, BEZIER_POINTS, cubicBezier, polybezier, pathPreset, springPreset, bouncePreset, samplePreset, naturalThrow, decelerateOvershoot, decelerateElastic, accelerateImpulse, accelerateElastic, elasticSnap, bounce, bounceAnticipate, bounceThrow, impulseSlow, impulseOvershoot, overshoot, overshootElastic, overshootBouncy, } from './easing-curves.ts';
45
+ export { naturalThrowSamples, decelerateOvershootSamples, decelerateElasticSamples, accelerateImpulseSamples, accelerateElasticSamples, elasticSnapSamples, bounceSamples, bounceAnticipateSamples, bounceThrowSamples, impulseSlowSamples, impulseOvershootSamples, overshootSamples, overshootElasticSamples, overshootBouncySamples, lerpSamples, };
46
+ /**
47
+ * Returns the absolute frame number across the entire composition.
48
+ *
49
+ * Unlike `useCurrentFrame()` which resets to 0 at each section boundary
50
+ * (Series.Sequence), this returns the global frame from 0 to totalDuration.
51
+ *
52
+ * ```tsx
53
+ * const absoluteFrame = useAbsoluteCurrentFrame()
54
+ * const elapsedSeconds = absoluteFrame / fps
55
+ * ```
56
+ */
57
+ export declare function useAbsoluteCurrentFrame(): number;
58
+ /**
59
+ * Returns `true` when the component is being rendered inside a premounted
60
+ * `<Series.Sequence premountFor={…}>` — i.e. the sequence is mounted early
61
+ * for preloading but invisible (opacity 0, pointer-events none, frozen at
62
+ * its start frame).
63
+ *
64
+ * Use this to skip expensive side effects (tweakpane registration, heavy
65
+ * canvas work, etc.) that shouldn't run during premount.
66
+ *
67
+ * Uses Remotion's internal `SequenceContext.premounting` flag — the same
68
+ * mechanism Remotion's own `<Video>`, `<Audio>`, and `<Img>` use to skip
69
+ * buffering during premount.
70
+ */
71
+ export declare function useIsPremounting(): boolean;
72
+ export interface SpringConfig {
73
+ stiffness: number;
74
+ damping: number;
75
+ mass: number;
76
+ }
77
+ /**
78
+ * Convert a human-readable (duration, bounce) pair into Remotion spring
79
+ * physics config. Matches Motion's `visualDuration` spring formula exactly.
80
+ *
81
+ * The `duration` param is a *perceptual* duration (how long the animation
82
+ * *feels*), not the exact settling time. Motion multiplies it by 1.2
83
+ * internally to derive the natural frequency, so the spring actually
84
+ * oscillates slightly longer than `duration` but *appears* to complete
85
+ * within it. We use the same 1.2 factor for identical behavior.
86
+ *
87
+ * @param duration - Perceptual animation duration in seconds (e.g. 0.5).
88
+ * Internally multiplied by 1.2 to match Motion's visualDuration formula.
89
+ * @param bounce - Bounciness from 0 (no overshoot) to 1 (max bounce). Default 0.
90
+ *
91
+ * ```ts
92
+ * // No bounce, 400ms
93
+ * spring({ frame, fps, config: springFromDuration(0.4) })
94
+ *
95
+ * // Subtle Apple-like overshoot, 600ms
96
+ * spring({ frame, fps, config: springFromDuration(0.6, 0.25) })
97
+ *
98
+ * // Playful bounce, 500ms
99
+ * spring({ frame, fps, config: springFromDuration(0.5, 0.5) })
100
+ * ```
101
+ */
102
+ export declare function springFromDuration(duration: number, bounce?: number): SpringConfig;
103
+ /**
104
+ * Find spring physics config where the spring settles at exactly `duration`.
105
+ * Ported from Motion's `findSpring()` — uses Newton-Raphson root-finding to
106
+ * solve for the undamped natural frequency that makes the spring envelope
107
+ * reach near-zero at the given duration.
108
+ *
109
+ * Use this when you need the spring to settle at a precise time (e.g. syncing
110
+ * to a beat or section boundary). For general-purpose springs where the feel
111
+ * matters more than exact timing, prefer `springFromDuration()`.
112
+ *
113
+ * Note: Motion's generator also forcibly snaps `value = target` when
114
+ * `t >= duration`. Remotion's spring() does not; it naturally settles.
115
+ * The envelope will be near-zero at `duration` but not forcibly clamped.
116
+ *
117
+ * @param duration - Exact settling time in seconds.
118
+ * @param bounce - Bounciness from 0 (no overshoot) to 1 (max bounce). Default 0.
119
+ *
120
+ * ```ts
121
+ * // Spring that settles in exactly 800ms with moderate bounce
122
+ * spring({ frame, fps, config: findSpringConfig(0.8, 0.3) })
123
+ * ```
124
+ */
125
+ export declare function findSpringConfig(duration: number, bounce?: number): SpringConfig;
126
+ /**
127
+ * Shorthand: run a spring animation driven by springFromDuration().
128
+ * Returns 0-to-1 progress (or 0-to-`to` if specified).
129
+ *
130
+ * ```tsx
131
+ * const scale = dspring(frame, fps, 0.5, 0.3) // 500ms, slight bounce
132
+ * ```
133
+ */
134
+ export declare function dspring(frame: number, fps: number, duration: number, bounce?: number, options?: {
135
+ delay?: number;
136
+ to?: number;
137
+ from?: number;
138
+ }): number;
139
+ export declare const EASE: {
140
+ /** AE 75% influence — tight S-curve, the "Apple ease" */
141
+ readonly apple: (x: number) => number;
142
+ /** Fast enter, gentle settle — elements arriving with momentum */
143
+ readonly enterFast: (x: number) => number;
144
+ /** Slow start, fast exit — elements leaving the frame */
145
+ readonly exitSlow: (x: number) => number;
146
+ /** Social media punch — very sharp burst */
147
+ readonly snappy: (x: number) => number;
148
+ /** Luxurious, slow cinematic feel */
149
+ readonly cinematic: (x: number) => number;
150
+ /** Strong ease-out, snaps into place. The workhorse motion curve. */
151
+ readonly smooth: (x: number) => number;
152
+ /** Symmetric S-curve, natural feeling in-out */
153
+ readonly natural: (x: number) => number;
154
+ /** Pure deceleration, no ease-in. Objects arriving at full speed. */
155
+ readonly decelerate: (x: number) => number;
156
+ /** Pure acceleration, no ease-out. Objects leaving from rest. */
157
+ readonly accelerate: (x: number) => number;
158
+ /** Elastic snap into place with ringing oscillation */
159
+ readonly elasticSnap: EasingFunction;
160
+ /** Standard bounce, like a ball dropping */
161
+ readonly bounce: EasingFunction;
162
+ /** Bounce with anticipation (pulls back first) */
163
+ readonly bounceAnticipate: EasingFunction;
164
+ /** Throw with bounce on landing */
165
+ readonly bounceThrow: EasingFunction;
166
+ /** Overshoot then settle back */
167
+ readonly overshoot: EasingFunction;
168
+ /** Overshoot with elastic ringing */
169
+ readonly overshootElastic: EasingFunction;
170
+ /** Overshoot with bouncy settle */
171
+ readonly overshootBouncy: EasingFunction;
172
+ /** Deceleration with overshoot */
173
+ readonly decelerateOvershoot: EasingFunction;
174
+ /** Deceleration with elastic overshoot */
175
+ readonly decelerateElastic: EasingFunction;
176
+ /** Natural throw with momentum */
177
+ readonly naturalThrow: EasingFunction;
178
+ /** Accelerating impulse burst */
179
+ readonly accelerateImpulse: EasingFunction;
180
+ /** Acceleration with elastic windup */
181
+ readonly accelerateElastic: EasingFunction;
182
+ /** Slow impulse, gradual build then release */
183
+ readonly impulseSlow: EasingFunction;
184
+ /** Impulse with overshoot settle */
185
+ readonly impulseOvershoot: EasingFunction;
186
+ };
187
+ type EasingFunction = (t: number) => number;
188
+ /** smooth at custom intensity. Pattern: cubic-bezier(lerp(0.3, 0.9, i/100), 0, 0, 1) */
189
+ export declare function smoothEasing(intensity: number): EasingFunction;
190
+ /** natural at custom intensity. Pattern: cubic-bezier(lerp(0.5, 1, i/100), 0, lerp(0.5, 0, i/100), 1) */
191
+ export declare function naturalEasing(intensity: number): EasingFunction;
192
+ /** decelerate at custom intensity */
193
+ export declare function decelerateEasing(intensity: number): EasingFunction;
194
+ /** accelerate at custom intensity */
195
+ export declare function accelerateEasing(intensity: number): EasingFunction;
196
+ /** elasticSnap at custom intensity (sampled) */
197
+ export declare function elasticSnapEasing(intensity: number): EasingFunction;
198
+ /** bounce at custom intensity (sampled) */
199
+ export declare function bounceEasing(intensity: number): EasingFunction;
200
+ /** bounceAnticipate at custom intensity (sampled) */
201
+ export declare function bounceAnticipateEasing(intensity: number): EasingFunction;
202
+ /** bounceThrow at custom intensity (sampled) */
203
+ export declare function bounceThrowEasing(intensity: number): EasingFunction;
204
+ /** overshoot at custom intensity (sampled) */
205
+ export declare function overshootEasing(intensity: number): EasingFunction;
206
+ /** overshootElastic at custom intensity (sampled) */
207
+ export declare function overshootElasticEasing(intensity: number): EasingFunction;
208
+ /** overshootBouncy at custom intensity (sampled) */
209
+ export declare function overshootBouncyEasing(intensity: number): EasingFunction;
210
+ /** decelerateOvershoot at custom intensity (sampled) */
211
+ export declare function decelerateOvershootEasing(intensity: number): EasingFunction;
212
+ /** decelerateElastic at custom intensity (sampled) */
213
+ export declare function decelerateElasticEasing(intensity: number): EasingFunction;
214
+ /** naturalThrow at custom intensity (sampled) */
215
+ export declare function naturalThrowEasing(intensity: number): EasingFunction;
216
+ /** accelerateImpulse at custom intensity (sampled) */
217
+ export declare function accelerateImpulseEasing(intensity: number): EasingFunction;
218
+ /** accelerateElastic at custom intensity (sampled) */
219
+ export declare function accelerateElasticEasing(intensity: number): EasingFunction;
220
+ /** impulseSlow at custom intensity (sampled) */
221
+ export declare function impulseSlowEasing(intensity: number): EasingFunction;
222
+ /** impulseOvershoot at custom intensity (sampled) */
223
+ export declare function impulseOvershootEasing(intensity: number): EasingFunction;
224
+ export declare function Fill({ children, style, ...rest }: {
225
+ children?: ReactNode;
226
+ } & React.HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
227
+ export declare function Background({ children }: {
228
+ children?: ReactNode;
229
+ }): import("react").JSX.Element;
230
+ export interface AnimateProps {
231
+ children: ReactNode;
232
+ /** Start value of the animated property. */
233
+ from: number;
234
+ /** End value of the animated property. */
235
+ to: number;
236
+ /** Animation duration in frames. */
237
+ duration: number;
238
+ /** Custom easing function. Defaults to ease-out for enter, ease-in for exit. */
239
+ easing?: (t: number) => number;
240
+ /**
241
+ * Frame offset for when the animation starts.
242
+ *
243
+ * Positive or zero: offset from section start (enter animation).
244
+ * `startInFrames={10}` waits 10 frames then starts.
245
+ *
246
+ * Negative: offset from section end (exit animation).
247
+ * `startInFrames={-30}` means the animation starts 30 frames before the
248
+ * section ends.
249
+ */
250
+ startInFrames?: number;
251
+ /**
252
+ * Fraction (0-1) of the animation clipped by the scene boundary.
253
+ *
254
+ * For enter (startInFrames >= 0): shifts animation earlier so it starts
255
+ * before the scene — element appears mid-motion at the cut point.
256
+ * cutInMotion={0.1} on a 20-frame animation: starts 2 frames before scene.
257
+ *
258
+ * For exit (startInFrames < 0): shifts animation later so it extends past
259
+ * the scene end — element is still moving at the cut point.
260
+ * cutInMotion={0.2} on a 20-frame exit: extends 4 frames past scene end.
261
+ */
262
+ cutInMotion?: number;
263
+ /**
264
+ * When true, wraps children in a plain `<div>` instead of `<Fill>`.
265
+ * Use this when the animated element is inside a flex/grid/flow layout
266
+ * and should not take the full frame. Without `inline`, the wrapper is
267
+ * an AbsoluteFill that covers the entire composition.
268
+ */
269
+ inline?: boolean;
270
+ /** Extra styles applied to the wrapper element (both inline and Fill modes). */
271
+ style?: React.CSSProperties;
272
+ /**
273
+ * Label for this animation instance. Used as:
274
+ * - The tweakpane folder title (for visual identification)
275
+ * - An HTML `data-animation` attribute (for agent inspection)
276
+ */
277
+ label: string;
278
+ }
279
+ export declare function Opacity(props: AnimateProps): import("react").JSX.Element;
280
+ export declare function Scale(props: AnimateProps): import("react").JSX.Element;
281
+ export declare function TranslateX(props: AnimateProps): import("react").JSX.Element;
282
+ export declare function TranslateY(props: AnimateProps): import("react").JSX.Element;
283
+ export declare function Blur(props: AnimateProps): import("react").JSX.Element;
284
+ export { keyframes, fromLottieProperty, extractLottieDimensionEasing, type BezierCurve, type Keyframe, type KeyframesDimensionOptions, type LottieEasingHandle, type LottieKeyframe, type LottieAnimatedProperty, } from './keyframes.tsx';
285
+ export { LayoutContainerContext, LayoutTransition, LayoutTransitionProvider, LayoutGhost, LayoutAnimationLayer, type LayoutTransitionMode, type LayoutEntry, type LayoutRegistry, } from './layout-transition.tsx';
286
+ import { LayoutTransition } from './layout-transition.tsx';
287
+ import { Img, Audio, Video } from './media-components.tsx';
288
+ export { ExportContext, useIsExporting, Img, Audio, Video } from './media-components.tsx';
289
+ export { BlurReveal, MaskedSlideReveal, StaggeredFadeUp, ShimmerSweep, AngledScreen, CodeBlock, CODE_THEMES, BandsShader, WaveGradientShader, LiquidGradientShader, DispersionRingsShader, };
290
+ /** Built-in JSX names available in MDX without user imports. Shared by
291
+ * client rendering (mdx-client.tsx) and <Server> slot rendering (app.tsx).
292
+ * Add new presentation components here once — not in app.tsx / mdx-client. */
293
+ /** Client-side stubs for generated media components. These are always
294
+ * rendered inside auto-wrapped <Server> slots, so the client never calls
295
+ * them directly. They exist so safe-mdx's component resolution finds
296
+ * them, and the prop types enable MDX LSP autocomplete. */
297
+ import type { GeneratedImageProps, GeneratedVideoProps, GeneratedSpeechProps } from './server-components.tsx';
298
+ declare function GeneratedImage(_props: GeneratedImageProps): null;
299
+ declare function GeneratedVideo(_props: GeneratedVideoProps): null;
300
+ declare function GeneratedSpeech(_props: GeneratedSpeechProps): null;
301
+ export declare const MDX_BUILTIN_COMPONENTS: {
302
+ readonly Fill: typeof Fill;
303
+ readonly Background: typeof Background;
304
+ readonly LayoutTransition: typeof LayoutTransition;
305
+ readonly AngledScreen: typeof AngledScreen;
306
+ readonly BandsShader: import("react").FC<import("./bands-shader.tsx").BandsShaderProps>;
307
+ readonly WaveGradientShader: import("react").FC<import("./wave-gradient-shader.tsx").WaveGradientShaderProps>;
308
+ readonly LiquidGradientShader: import("react").FC<import("./liquid-gradient-shader.tsx").LiquidGradientShaderProps>;
309
+ readonly DispersionRingsShader: import("react").FC<import("./dispersion-rings-shader.tsx").DispersionRingsShaderProps>;
310
+ readonly BlurReveal: typeof BlurReveal;
311
+ readonly MaskedSlideReveal: typeof MaskedSlideReveal;
312
+ readonly StaggeredFadeUp: typeof StaggeredFadeUp;
313
+ readonly CodeBlock: typeof CodeBlock;
314
+ readonly ShimmerSweep: typeof ShimmerSweep;
315
+ readonly Img: typeof Img;
316
+ readonly Audio: typeof Audio;
317
+ readonly Video: typeof Video;
318
+ readonly Opacity: typeof Opacity;
319
+ readonly Scale: typeof Scale;
320
+ readonly TranslateX: typeof TranslateX;
321
+ readonly TranslateY: typeof TranslateY;
322
+ readonly Blur: typeof Blur;
323
+ readonly GeneratedImage: typeof GeneratedImage;
324
+ readonly GeneratedVideo: typeof GeneratedVideo;
325
+ readonly GeneratedSpeech: typeof GeneratedSpeech;
326
+ };
327
+ //# sourceMappingURL=mdx-video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdx-video.d.ts","sourceRoot":"","sources":["../../src/vite/mdx-video.tsx"],"names":[],"mappings":"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"}