@cueframe/kernel 0.1.0 → 0.1.2

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 (815) hide show
  1. package/LICENSE +661 -0
  2. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +0 -59
  3. package/dist/_members/account-model/testing/index.d.ts +0 -5
  4. package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
  5. package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
  6. package/dist/_members/account-model/validators/conversation.d.ts +0 -96
  7. package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
  8. package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
  9. package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
  10. package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
  11. package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
  12. package/dist/_members/animate/animations/Create.d.ts +0 -19
  13. package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
  14. package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
  15. package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
  16. package/dist/_members/animate/animations/Indicate.d.ts +0 -17
  17. package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
  18. package/dist/_members/animate/animations/Transform.d.ts +0 -28
  19. package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
  20. package/dist/_members/animate/animations/Write.d.ts +0 -20
  21. package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
  22. package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
  23. package/dist/_members/animate/composition/Succession.d.ts +0 -17
  24. package/dist/_members/animate/easing/rush.d.ts +0 -14
  25. package/dist/_members/animate/easing/smooth.d.ts +0 -7
  26. package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
  27. package/dist/_members/animate/index.d.ts +0 -2
  28. package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
  29. package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
  30. package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
  31. package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
  32. package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
  33. package/dist/_members/animate/three/drei.d.ts +0 -7
  34. package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
  35. package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
  36. package/dist/_members/authoring/agent/errors.d.ts +0 -9
  37. package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
  38. package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
  39. package/dist/_members/authoring/agent.d.ts +0 -34
  40. package/dist/_members/authoring/capabilities.d.ts +0 -145
  41. package/dist/_members/authoring/composer/scopes.d.ts +0 -19
  42. package/dist/_members/authoring/context/brand.d.ts +0 -4
  43. package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
  44. package/dist/_members/authoring/context/index.d.ts +0 -1
  45. package/dist/_members/authoring/context/timeline.d.ts +0 -15
  46. package/dist/_members/authoring/context/transcript.d.ts +0 -11
  47. package/dist/_members/authoring/context/types.d.ts +0 -4
  48. package/dist/_members/authoring/decomposer.d.ts +0 -12
  49. package/dist/_members/authoring/evaluate.d.ts +0 -26
  50. package/dist/_members/authoring/evaluator.d.ts +0 -16
  51. package/dist/_members/authoring/models/modelFactory.d.ts +0 -77
  52. package/dist/_members/authoring/motion/applyMotionPreset.d.ts +0 -12
  53. package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +0 -7
  54. package/dist/_members/authoring/motion/shell.d.ts +0 -20
  55. package/dist/_members/authoring/pipelineTrace.d.ts +0 -19
  56. package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +0 -4
  57. package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -16
  58. package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +0 -4
  59. package/dist/_members/authoring/prompts/graphics.d.ts +0 -5
  60. package/dist/_members/authoring/prompts/plannerPrompt.d.ts +0 -30
  61. package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
  62. package/dist/_members/authoring/resource-routing.d.ts +0 -121
  63. package/dist/_members/authoring/resources.d.ts +0 -34
  64. package/dist/_members/authoring/scope.d.ts +0 -24
  65. package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
  66. package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
  67. package/dist/_members/authoring/tools/index.d.ts +0 -1
  68. package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
  69. package/dist/_members/authoring/transpileComponent.d.ts +0 -34
  70. package/dist/_members/authoring/transpileHelper.d.ts +0 -18
  71. package/dist/_members/authoring/types.d.ts +0 -149
  72. package/dist/_members/brand-derivation/constants.d.ts +0 -17
  73. package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
  74. package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
  75. package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
  76. package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
  77. package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
  78. package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
  79. package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
  80. package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
  81. package/dist/_members/compose/schema.d.ts +0 -15
  82. package/dist/_members/compose/tokenResolver.d.ts +0 -11
  83. package/dist/_members/composition/audio/audioMix.d.ts +0 -34
  84. package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
  85. package/dist/_members/composition/audio/musicPack.d.ts +0 -35
  86. package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
  87. package/dist/_members/composition/audio/pack.d.ts +0 -43
  88. package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
  89. package/dist/_members/composition/audio/palette.d.ts +0 -36
  90. package/dist/_members/composition/autozoom/index.d.ts +0 -32
  91. package/dist/_members/composition/brand-kit.d.ts +0 -8
  92. package/dist/_members/composition/brief/contract.d.ts +0 -90
  93. package/dist/_members/composition/color-grade.d.ts +0 -11
  94. package/dist/_members/composition/depth.d.ts +0 -19
  95. package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
  96. package/dist/_members/composition/fonts.d.ts +0 -62
  97. package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
  98. package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
  99. package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
  100. package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
  101. package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
  102. package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
  103. package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
  104. package/dist/_members/composition/invariants/composition.d.ts +0 -5
  105. package/dist/_members/composition/invariants/etag.d.ts +0 -7
  106. package/dist/_members/composition/invariants/ids.d.ts +0 -6
  107. package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
  108. package/dist/_members/composition/invariants/markers.d.ts +0 -6
  109. package/dist/_members/composition/invariants/time.d.ts +0 -8
  110. package/dist/_members/composition/invariants/tracks.d.ts +0 -48
  111. package/dist/_members/composition/ops/compositionOps.d.ts +5 -71
  112. package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
  113. package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
  114. package/dist/_members/composition/ops/selectors.d.ts +0 -66
  115. package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
  116. package/dist/_members/composition/ops/transcript.d.ts +0 -27
  117. package/dist/_members/composition/ops/types.d.ts +0 -51
  118. package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
  119. package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
  120. package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
  121. package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
  122. package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
  123. package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
  124. package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
  125. package/dist/_members/composition/projection/behind-readiness.d.ts +52 -0
  126. package/dist/_members/composition/projection/brandKit.d.ts +0 -142
  127. package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
  128. package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
  129. package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
  130. package/dist/_members/composition/projection/index.d.ts +2 -0
  131. package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
  132. package/dist/_members/composition/projection/reframe-readiness.d.ts +49 -0
  133. package/dist/_members/composition/projection/safe-zones.d.ts +0 -29
  134. package/dist/_members/composition/reframe/aspectLoss.d.ts +12 -35
  135. package/dist/_members/composition/reframe/coverage.d.ts +0 -40
  136. package/dist/_members/composition/reframe/derive.d.ts +0 -21
  137. package/dist/_members/composition/reframe/index.d.ts +0 -60
  138. package/dist/_members/composition/reframe/kenBurns.d.ts +0 -37
  139. package/dist/_members/composition/reframe/shotScale.d.ts +0 -75
  140. package/dist/_members/composition/reframe/trajectory.d.ts +0 -65
  141. package/dist/_members/composition/timeline/compound.d.ts +0 -31
  142. package/dist/_members/composition/timeline/intent.d.ts +0 -29
  143. package/dist/_members/composition/timeline/keyframes.d.ts +0 -43
  144. package/dist/_members/composition/timeline/link.d.ts +0 -27
  145. package/dist/_members/composition/timeline/occupancy.d.ts +1 -42
  146. package/dist/_members/composition/timeline/placement.d.ts +5 -52
  147. package/dist/_members/composition/timeline/plan.d.ts +5 -53
  148. package/dist/_members/composition/timeline/resolve.d.ts +0 -36
  149. package/dist/_members/composition/timeline/trims.d.ts +0 -49
  150. package/dist/_members/composition/validators/brandKit.d.ts +0 -29
  151. package/dist/_members/composition/validators/composePlan.d.ts +0 -39
  152. package/dist/_members/composition/validators/composition.d.ts +63 -529
  153. package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
  154. package/dist/_members/composition/validators/render.d.ts +55 -23
  155. package/dist/_members/composition-ops/alphaLayers.d.ts +0 -56
  156. package/dist/_members/composition-ops/index.d.ts +27 -148
  157. package/dist/_members/composition-ops/materializeGrid.d.ts +0 -28
  158. package/dist/_members/composition-ops/opRecorder.d.ts +0 -34
  159. package/dist/_members/composition-ops/recordingStore.d.ts +0 -16
  160. package/dist/_members/composition-ops/replaceRegion.d.ts +0 -48
  161. package/dist/_members/composition-ops/testFixtures.d.ts +0 -14
  162. package/dist/_members/convex-api/api.d.ts +0 -3
  163. package/dist/_members/convex-api/dataModel.d.ts +0 -2
  164. package/dist/_members/core/index.d.ts +1 -1
  165. package/dist/_members/core/render/bookends.d.ts +0 -44
  166. package/dist/_members/core/render/captions.d.ts +0 -42
  167. package/dist/_members/core/render/compositionRender.d.ts +2 -165
  168. package/dist/_members/core/render/deriveTrajectory.d.ts +0 -140
  169. package/dist/_members/core/render/emphasis.d.ts +0 -6
  170. package/dist/_members/core/render/eval/cropBox.d.ts +0 -69
  171. package/dist/_members/core/render/eval/inclusion.d.ts +0 -39
  172. package/dist/_members/core/render/eval/index.d.ts +0 -58
  173. package/dist/_members/core/render/eval/metrics.d.ts +0 -36
  174. package/dist/_members/core/render/exportSettings.d.ts +4 -12
  175. package/dist/_members/core/render/index.d.ts +1 -1
  176. package/dist/_members/core/render/mapFaceToPerson.d.ts +0 -27
  177. package/dist/_members/core/render/types.d.ts +4 -156
  178. package/dist/_members/core/render/variantKeys.d.ts +1 -0
  179. package/dist/_members/core/render/vcam/cameraPath.d.ts +0 -44
  180. package/dist/_members/core/render/vcam/constants.d.ts +0 -93
  181. package/dist/_members/core/render/vcam/errorCodes.d.ts +0 -28
  182. package/dist/_members/core/render/vcam/framing.d.ts +0 -76
  183. package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -71
  184. package/dist/_members/core/render/vcam/shots.d.ts +0 -40
  185. package/dist/_members/core/render/vcam/subjectSet.d.ts +0 -85
  186. package/dist/_members/core/select/errorCodes.d.ts +0 -25
  187. package/dist/_members/core/select/index.d.ts +0 -20
  188. package/dist/_members/core/select/model.d.ts +0 -79
  189. package/dist/_members/core/select/select.d.ts +0 -49
  190. package/dist/_members/core/select/stabilize.d.ts +0 -102
  191. package/dist/_members/core/types.d.ts +0 -1
  192. package/dist/_members/director/ai-sdk/chunks.d.ts +14 -0
  193. package/dist/_members/director/ai-sdk/context.d.ts +6 -0
  194. package/dist/_members/director/ai-sdk/generationTool.d.ts +8 -0
  195. package/dist/_members/director/ai-sdk/index.d.ts +4 -0
  196. package/dist/_members/director/ai-sdk/messages.d.ts +292 -0
  197. package/dist/_members/director/domain/chat.d.ts +357 -0
  198. package/dist/_members/director/domain/generation.d.ts +1 -0
  199. package/dist/_members/director/domain/index.d.ts +3 -0
  200. package/dist/_members/director/domain/ports.d.ts +32 -0
  201. package/dist/_members/director/index.d.ts +2 -0
  202. package/dist/_members/director/testing/contract.d.ts +52 -0
  203. package/dist/_members/director/testing/index.d.ts +1 -0
  204. package/dist/_members/errors/registry.d.ts +0 -32
  205. package/dist/_members/foundation/codes/index.d.ts +0 -21
  206. package/dist/_members/mcp/adapter.d.ts +1 -84
  207. package/dist/_members/mcp/burnedNames.d.ts +0 -16
  208. package/dist/_members/mcp/core.d.ts +1 -81
  209. package/dist/_members/mcp/curation.d.ts +0 -112
  210. package/dist/_members/mcp/executor.d.ts +0 -49
  211. package/dist/_members/mcp/format.d.ts +0 -6
  212. package/dist/_members/mcp/generated/catalogPreviews.d.ts +0 -1
  213. package/dist/_members/mcp/generated/operations.d.ts +0 -23
  214. package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
  215. package/dist/_members/mcp/prompts.d.ts +0 -16
  216. package/dist/_members/mcp/resources.d.ts +0 -13
  217. package/dist/_members/mcp/server.d.ts +0 -61
  218. package/dist/_members/mcp/wait.d.ts +0 -22
  219. package/dist/_members/mcp/x402Meta.d.ts +0 -44
  220. package/dist/_members/media-model/generation.d.ts +314 -0
  221. package/dist/_members/media-model/index.d.ts +1 -0
  222. package/dist/_members/media-model/media-kind.d.ts +0 -27
  223. package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
  224. package/dist/_members/nle-export/fcpxml.d.ts +0 -13
  225. package/dist/_members/nle-export/index.d.ts +0 -6
  226. package/dist/_members/nle-export/types.d.ts +0 -26
  227. package/dist/_members/nle-export/xml/index.d.ts +0 -8
  228. package/dist/_members/nle-export/xml-utils.d.ts +0 -12
  229. package/dist/_members/perception/activeSpeaker.d.ts +0 -94
  230. package/dist/_members/perception/audioQuality.d.ts +0 -64
  231. package/dist/_members/perception/energyBeat.d.ts +0 -81
  232. package/dist/_members/perception/identityMatch.d.ts +0 -66
  233. package/dist/_members/perception/index.d.ts +0 -52
  234. package/dist/_members/perception/visualQuality.d.ts +0 -73
  235. package/dist/_members/plane/conformance.d.ts +0 -59
  236. package/dist/_members/plane/contract.d.ts +0 -29
  237. package/dist/_members/plane/index.d.ts +0 -15
  238. package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
  239. package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
  240. package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
  241. package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
  242. package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
  243. package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
  244. package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
  245. package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
  246. package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
  247. package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
  248. package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
  249. package/dist/_members/primitives/captions/Captions.d.ts +0 -24
  250. package/dist/_members/primitives/captions/index.d.ts +0 -15
  251. package/dist/_members/primitives/captions/paginate.d.ts +0 -21
  252. package/dist/_members/primitives/captions/placement.d.ts +0 -30
  253. package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
  254. package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
  255. package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
  256. package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
  257. package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
  258. package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
  259. package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
  260. package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
  261. package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
  262. package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
  263. package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
  264. package/dist/_members/primitives/hero-text/config.d.ts +0 -10
  265. package/dist/_members/primitives/hero-text/index.d.ts +0 -14
  266. package/dist/_members/primitives/index.d.ts +0 -8
  267. package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
  268. package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
  269. package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
  270. package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
  271. package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
  272. package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
  273. package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
  274. package/dist/_members/primitives/lib/easings.d.ts +0 -27
  275. package/dist/_members/primitives/lib/palette.d.ts +0 -22
  276. package/dist/_members/primitives/lib/preview.d.ts +0 -22
  277. package/dist/_members/primitives/lib/schema.d.ts +0 -36
  278. package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
  279. package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
  280. package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
  281. package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
  282. package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
  283. package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
  284. package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
  285. package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
  286. package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
  287. package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
  288. package/dist/_members/primitives/lib/tokens.d.ts +0 -87
  289. package/dist/_members/primitives/lib/types.d.ts +0 -141
  290. package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
  291. package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
  292. package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
  293. package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
  294. package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
  295. package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
  296. package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
  297. package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
  298. package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
  299. package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
  300. package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
  301. package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
  302. package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
  303. package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
  304. package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
  305. package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
  306. package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
  307. package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
  308. package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
  309. package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
  310. package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
  311. package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
  312. package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
  313. package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
  314. package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
  315. package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
  316. package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
  317. package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
  318. package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
  319. package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
  320. package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
  321. package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
  322. package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
  323. package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
  324. package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
  325. package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
  326. package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
  327. package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
  328. package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
  329. package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
  330. package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
  331. package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
  332. package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
  333. package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
  334. package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
  335. package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
  336. package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
  337. package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
  338. package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
  339. package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
  340. package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
  341. package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
  342. package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
  343. package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
  344. package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
  345. package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
  346. package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
  347. package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
  348. package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
  349. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
  350. package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
  351. package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
  352. package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
  353. package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
  354. package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
  355. package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
  356. package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
  357. package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
  358. package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
  359. package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
  360. package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
  361. package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
  362. package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
  363. package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
  364. package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
  365. package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
  366. package/dist/_members/primitives/workspace.d.ts +0 -29
  367. package/dist/_members/render-harness/browserOptions.d.ts +11 -0
  368. package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
  369. package/dist/_members/render-harness/cardRender.d.ts +0 -40
  370. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  371. package/dist/_members/render-harness/contractRender.d.ts +0 -16
  372. package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
  373. package/dist/_members/render-harness/extractSegments.d.ts +0 -37
  374. package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
  375. package/dist/_members/render-harness/index.d.ts +0 -12
  376. package/dist/_members/render-harness/index.d.ts.map +1 -1
  377. package/dist/_members/render-harness/localRender.d.ts +1 -110
  378. package/dist/_members/render-harness/localRender.d.ts.map +1 -1
  379. package/dist/_members/render-harness/materializeSources.d.ts +0 -22
  380. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  381. package/dist/_members/render-harness/mediaServer.d.ts +0 -16
  382. package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
  383. package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
  384. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  385. package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
  386. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  387. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
  388. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
  389. package/dist/account-model/validators.js +1 -1
  390. package/dist/account-model.js +1 -1
  391. package/dist/animate.js +0 -15
  392. package/dist/authoring/build-tools.js +8 -8
  393. package/dist/authoring/composer.js +0 -20
  394. package/dist/authoring/context.js +6 -6
  395. package/dist/authoring/pipelineTrace.js +1 -1
  396. package/dist/authoring/prompts.js +1 -1
  397. package/dist/authoring/resource-routing.js +1 -1
  398. package/dist/authoring/resources.js +1 -1
  399. package/dist/authoring/tools.js +7 -7
  400. package/dist/authoring.js +16 -80
  401. package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
  402. package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
  403. package/dist/chunk-73DQTUWY.js +131 -0
  404. package/dist/{chunk-HI4UTTPS.js → chunk-AO744WIK.js} +1 -43
  405. package/dist/chunk-BADZHXLR.js +0 -0
  406. package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
  407. package/dist/{chunk-VOO5FQSS.js → chunk-BZZTVOGG.js} +6 -55
  408. package/dist/{chunk-ODL7GQJG.js → chunk-CAJQ7H5A.js} +17 -17
  409. package/dist/{chunk-ZB3C3HM7.js → chunk-DCVJWGIA.js} +4 -9
  410. package/dist/{chunk-IBYQG46O.js → chunk-DWLNPNC4.js} +1 -4
  411. package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
  412. package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
  413. package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
  414. package/dist/chunk-FTVZF4GO.js +0 -0
  415. package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
  416. package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
  417. package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
  418. package/dist/{chunk-XWKZB5U5.js → chunk-ICSZF37W.js} +21 -150
  419. package/dist/chunk-IEXAKOEX.js +113 -0
  420. package/dist/{chunk-UY4SWJVE.js → chunk-K2IUBCND.js} +0 -12
  421. package/dist/chunk-LJ5W4ZBU.js +146 -0
  422. package/dist/chunk-LLUW26BS.js +255 -0
  423. package/dist/{chunk-GEA7E2FL.js → chunk-PIURX6IZ.js} +220 -2
  424. package/dist/{chunk-MMEJ3Y7E.js → chunk-QETYXKQQ.js} +1 -10
  425. package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
  426. package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
  427. package/dist/{chunk-RF7U3SCL.js → chunk-TD347SSX.js} +3 -11
  428. package/dist/{chunk-NFEGPWGS.js → chunk-TFGKUWHY.js} +1 -88
  429. package/dist/{chunk-LM4WDUQJ.js → chunk-TPA6PYN2.js} +1 -11
  430. package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
  431. package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
  432. package/dist/{chunk-COYMZ76S.js → chunk-VFMW3JUY.js} +1 -1
  433. package/dist/{chunk-YIOY2XEO.js → chunk-VHF66LCQ.js} +22 -94
  434. package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
  435. package/dist/{chunk-SIGGQRY2.js → chunk-W3SIWT7J.js} +5030 -4412
  436. package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
  437. package/dist/chunk-WZH57M53.js +494 -0
  438. package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
  439. package/dist/{chunk-JRQVPFLF.js → chunk-XQ72DZKJ.js} +1 -1
  440. package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
  441. package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
  442. package/dist/chunk-ZPLJ24OV.js +93 -0
  443. package/dist/cloud-import/multipart.js +1 -1
  444. package/dist/cloud-import.js +9 -16
  445. package/dist/compose/renderer.js +18 -18
  446. package/dist/compose.js +21 -21
  447. package/dist/composition/audio.js +1 -1
  448. package/dist/composition/brand-kit.js +0 -5
  449. package/dist/composition/graphics-plan.js +4 -4
  450. package/dist/composition/ops.js +5 -5
  451. package/dist/composition/primitive-catalog.js +1 -1
  452. package/dist/composition/projection.js +28 -4
  453. package/dist/composition/reframe/kenBurns.js +0 -4
  454. package/dist/composition/reframe.js +4 -2
  455. package/dist/composition/timeline.js +1 -1
  456. package/dist/composition/validators/graphic-kinds.js +1 -1
  457. package/dist/composition/validators.js +8 -6
  458. package/dist/composition-ops.js +18 -135
  459. package/dist/composition.js +35 -9
  460. package/dist/context-JLLU3MYD.js +14 -0
  461. package/dist/core/render.js +9 -7
  462. package/dist/core/select.js +2 -6
  463. package/dist/core.js +5 -7
  464. package/dist/director/ai-sdk.d.ts +1 -0
  465. package/dist/director/ai-sdk.js +33 -0
  466. package/dist/director/domain.d.ts +1 -0
  467. package/dist/director/domain.js +62 -0
  468. package/dist/director/testing.d.ts +1 -0
  469. package/dist/director/testing.js +22 -0
  470. package/dist/director.d.ts +1 -0
  471. package/dist/director.js +86 -0
  472. package/dist/errors.js +1 -1
  473. package/dist/foundation.js +1 -0
  474. package/dist/mcp/adapter.js +5 -64
  475. package/dist/mcp/core.js +1 -1
  476. package/dist/mcp/curation.js +1 -1
  477. package/dist/mcp/server.js +4 -4
  478. package/dist/mcp.js +4 -4
  479. package/dist/media-model/generation.d.ts +1 -0
  480. package/dist/media-model/generation.js +40 -0
  481. package/dist/media-model/testing.js +1071 -718
  482. package/dist/media-model.js +38 -6
  483. package/dist/nle-export/server.js +328 -130
  484. package/dist/nle-export.js +22 -21
  485. package/dist/plane/contract.js +0 -3
  486. package/dist/primitives/backgrounds.js +2 -2
  487. package/dist/primitives/captions.js +0 -5
  488. package/dist/primitives/effects.js +2 -2
  489. package/dist/primitives/hero-text.js +2 -2
  490. package/dist/primitives/layouts.js +2 -2
  491. package/dist/primitives/lib/index.js +17 -17
  492. package/dist/primitives/lib/text/fitText.js +1 -1
  493. package/dist/primitives/lib/tokens.js +1 -1
  494. package/dist/primitives/lib.js +17 -17
  495. package/dist/primitives/scenes.js +2 -2
  496. package/dist/primitives/text.js +2 -2
  497. package/dist/primitives/ui-blocks.js +4 -4
  498. package/dist/primitives.js +21 -21
  499. package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
  500. package/dist/render-harness.js +24 -41
  501. package/package.json +39 -24
  502. package/dist/_members/account-model/index.js +0 -4
  503. package/dist/_members/account-model/testing/conversationStoreContract.js +0 -168
  504. package/dist/_members/account-model/testing/index.js +0 -7
  505. package/dist/_members/account-model/testing/restorePointStoreContract.js +0 -69
  506. package/dist/_members/account-model/types/index.js +0 -1
  507. package/dist/_members/account-model/validators/contextFile.js +0 -18
  508. package/dist/_members/account-model/validators/conversation.js +0 -95
  509. package/dist/_members/account-model/validators/dashboardInsight.js +0 -16
  510. package/dist/_members/account-model/validators/index.js +0 -7
  511. package/dist/_members/account-model/validators/sessionToken.js +0 -49
  512. package/dist/_members/account-model/validators/uploadToken.js +0 -16
  513. package/dist/_members/account-model/validators/userSettings.js +0 -12
  514. package/dist/_members/account-model/validators/workingComposition.js +0 -20
  515. package/dist/_members/brand-derivation/constants.js +0 -20
  516. package/dist/_members/brand-derivation/contrastSafe.js +0 -114
  517. package/dist/_members/brand-derivation/index.js +0 -1
  518. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js +0 -162
  519. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js.map +0 -1
  520. package/dist/_members/cloud-import/index.js +0 -241
  521. package/dist/_members/cloud-import/index.js.map +0 -1
  522. package/dist/_members/cloud-import/multipartUpload.js +0 -7
  523. package/dist/_members/cloud-import/multipartUpload.js.map +0 -1
  524. package/dist/_members/composition/audio/audioMix.js +0 -61
  525. package/dist/_members/composition/audio/index.js +0 -5
  526. package/dist/_members/composition/audio/mixStaging.js +0 -195
  527. package/dist/_members/composition/audio/musicPack.generated.js +0 -136
  528. package/dist/_members/composition/audio/musicPack.js +0 -36
  529. package/dist/_members/composition/audio/pack.generated.js +0 -603
  530. package/dist/_members/composition/audio/pack.js +0 -48
  531. package/dist/_members/composition/audio/palette.js +0 -134
  532. package/dist/_members/composition/autozoom/index.js +0 -83
  533. package/dist/_members/composition/brand-kit.js +0 -45
  534. package/dist/_members/composition/brief/contract.js +0 -209
  535. package/dist/_members/composition/color-grade.js +0 -80
  536. package/dist/_members/composition/depth.js +0 -8
  537. package/dist/_members/composition/fixtures/index.js +0 -143
  538. package/dist/_members/composition/fixtures/vaayaErrored.d.ts +0 -25
  539. package/dist/_members/composition/fixtures/vaayaErrored.js +0 -203
  540. package/dist/_members/composition/fonts.js +0 -162
  541. package/dist/_members/composition/graphics-plan/compile.js +0 -221
  542. package/dist/_members/composition/graphics-plan/index.js +0 -10
  543. package/dist/_members/composition/graphics-plan/instantiateMotif.js +0 -44
  544. package/dist/_members/composition/graphics-plan/motion.js +0 -66
  545. package/dist/_members/composition/graphics-plan/schemas.js +0 -261
  546. package/dist/_members/composition/graphics-plan/solve.js +0 -145
  547. package/dist/_members/composition/index.js +0 -5
  548. package/dist/_members/composition/invariants/clipPlacement.js +0 -69
  549. package/dist/_members/composition/invariants/composition.js +0 -28
  550. package/dist/_members/composition/invariants/errors.js +0 -10
  551. package/dist/_members/composition/invariants/etag.js +0 -38
  552. package/dist/_members/composition/invariants/ids.js +0 -33
  553. package/dist/_members/composition/invariants/index.js +0 -9
  554. package/dist/_members/composition/invariants/keyframes.js +0 -45
  555. package/dist/_members/composition/invariants/markers.js +0 -29
  556. package/dist/_members/composition/invariants/time.js +0 -20
  557. package/dist/_members/composition/invariants/tracks.js +0 -304
  558. package/dist/_members/composition/ops/compositionOps.js +0 -1056
  559. package/dist/_members/composition/ops/headlessStore.js +0 -94
  560. package/dist/_members/composition/ops/index.js +0 -4
  561. package/dist/_members/composition/ops/selectors.js +0 -118
  562. package/dist/_members/composition/ops/timeline-word.js +0 -1
  563. package/dist/_members/composition/ops/transcript.js +0 -77
  564. package/dist/_members/composition/ops/types.js +0 -16
  565. package/dist/_members/composition/primitive-catalog/catalogQuery.js +0 -150
  566. package/dist/_members/composition/primitive-catalog/disabled.js +0 -32
  567. package/dist/_members/composition/primitive-catalog/generated/meta.js +0 -15161
  568. package/dist/_members/composition/primitive-catalog/index.js +0 -46
  569. package/dist/_members/composition/primitive-catalog/paramValidation.js +0 -231
  570. package/dist/_members/composition/primitive-catalog/projection.js +0 -164
  571. package/dist/_members/composition/primitive-catalog/types.js +0 -14
  572. package/dist/_members/composition/projection/behind-placement.js +0 -62
  573. package/dist/_members/composition/projection/brandKit.js +0 -482
  574. package/dist/_members/composition/projection/cardTokens.js +0 -209
  575. package/dist/_members/composition/projection/composition-floor.js +0 -582
  576. package/dist/_members/composition/projection/cropProjection.js +0 -257
  577. package/dist/_members/composition/projection/index.js +0 -7
  578. package/dist/_members/composition/projection/occlusion-budget.js +0 -104
  579. package/dist/_members/composition/projection/safe-zones.js +0 -99
  580. package/dist/_members/composition/reframe/aspectLoss.js +0 -115
  581. package/dist/_members/composition/reframe/coverage.js +0 -62
  582. package/dist/_members/composition/reframe/derive.js +0 -73
  583. package/dist/_members/composition/reframe/index.js +0 -109
  584. package/dist/_members/composition/reframe/kenBurns.js +0 -64
  585. package/dist/_members/composition/reframe/shotScale.js +0 -176
  586. package/dist/_members/composition/reframe/trajectory.js +0 -124
  587. package/dist/_members/composition/timeline/compound.js +0 -134
  588. package/dist/_members/composition/timeline/index.js +0 -9
  589. package/dist/_members/composition/timeline/intent.js +0 -228
  590. package/dist/_members/composition/timeline/keyframes.js +0 -121
  591. package/dist/_members/composition/timeline/link.js +0 -59
  592. package/dist/_members/composition/timeline/occupancy.js +0 -36
  593. package/dist/_members/composition/timeline/placement.js +0 -74
  594. package/dist/_members/composition/timeline/plan.js +0 -31
  595. package/dist/_members/composition/timeline/resolve.js +0 -170
  596. package/dist/_members/composition/timeline/trims.js +0 -278
  597. package/dist/_members/composition/types/index.js +0 -1
  598. package/dist/_members/composition/validators/brandKit.js +0 -295
  599. package/dist/_members/composition/validators/composePlan.js +0 -113
  600. package/dist/_members/composition/validators/composition.js +0 -703
  601. package/dist/_members/composition/validators/font.js +0 -34
  602. package/dist/_members/composition/validators/graphicKinds.js +0 -30
  603. package/dist/_members/composition/validators/index.js +0 -9
  604. package/dist/_members/composition/validators/project.js +0 -29
  605. package/dist/_members/composition/validators/registry.js +0 -41
  606. package/dist/_members/composition/validators/render.js +0 -139
  607. package/dist/_members/composition/validators/session.js +0 -37
  608. package/dist/_members/composition/validators/webhook.js +0 -72
  609. package/dist/_members/composition-ops/alphaLayers.js +0 -141
  610. package/dist/_members/composition-ops/index.js +0 -637
  611. package/dist/_members/composition-ops/materializeGrid.js +0 -99
  612. package/dist/_members/composition-ops/opRecorder.js +0 -196
  613. package/dist/_members/composition-ops/recordingStore.js +0 -14
  614. package/dist/_members/composition-ops/replaceRegion.js +0 -102
  615. package/dist/_members/composition-ops/testFixtures.js +0 -19
  616. package/dist/_members/core/index.js +0 -5
  617. package/dist/_members/core/render/bookends.js +0 -53
  618. package/dist/_members/core/render/captions.js +0 -127
  619. package/dist/_members/core/render/compositionRender.js +0 -1249
  620. package/dist/_members/core/render/deriveTrajectory.js +0 -889
  621. package/dist/_members/core/render/emphasis.js +0 -16
  622. package/dist/_members/core/render/eval/cropBox.js +0 -139
  623. package/dist/_members/core/render/eval/inclusion.js +0 -96
  624. package/dist/_members/core/render/eval/index.js +0 -146
  625. package/dist/_members/core/render/eval/metrics.js +0 -94
  626. package/dist/_members/core/render/exportSettings.js +0 -65
  627. package/dist/_members/core/render/index.js +0 -20
  628. package/dist/_members/core/render/mapFaceToPerson.js +0 -73
  629. package/dist/_members/core/render/types.js +0 -8
  630. package/dist/_members/core/render/vcam/cameraPath.js +0 -248
  631. package/dist/_members/core/render/vcam/constants.js +0 -115
  632. package/dist/_members/core/render/vcam/errorCodes.js +0 -39
  633. package/dist/_members/core/render/vcam/framing.js +0 -136
  634. package/dist/_members/core/render/vcam/requiredRegion.js +0 -137
  635. package/dist/_members/core/render/vcam/shots.js +0 -53
  636. package/dist/_members/core/render/vcam/subjectSet.js +0 -388
  637. package/dist/_members/core/select/errorCodes.js +0 -38
  638. package/dist/_members/core/select/index.js +0 -26
  639. package/dist/_members/core/select/model.js +0 -18
  640. package/dist/_members/core/select/select.js +0 -244
  641. package/dist/_members/core/select/stabilize.js +0 -242
  642. package/dist/_members/core/types.js +0 -7
  643. package/dist/_members/errors/index.js +0 -1
  644. package/dist/_members/errors/registry.js +0 -560
  645. package/dist/_members/foundation/codes/index.js +0 -31
  646. package/dist/_members/foundation/index.js +0 -2
  647. package/dist/_members/foundation/primitives/index.js +0 -5
  648. package/dist/_members/mcp/adapter.js +0 -771
  649. package/dist/_members/mcp/burnedNames.js +0 -73
  650. package/dist/_members/mcp/core.js +0 -390
  651. package/dist/_members/mcp/curation.js +0 -792
  652. package/dist/_members/mcp/executor.js +0 -142
  653. package/dist/_members/mcp/format.js +0 -9
  654. package/dist/_members/mcp/generated/catalogPreviews.js +0 -95
  655. package/dist/_members/mcp/generated/harness.js +0 -81
  656. package/dist/_members/mcp/generated/operations.js +0 -131
  657. package/dist/_members/mcp/index.js +0 -50
  658. package/dist/_members/mcp/internalLoopTools.js +0 -109
  659. package/dist/_members/mcp/prompts.js +0 -45
  660. package/dist/_members/mcp/resources.js +0 -166
  661. package/dist/_members/mcp/server.js +0 -340
  662. package/dist/_members/mcp/wait.js +0 -378
  663. package/dist/_members/mcp/x402Meta.js +0 -66
  664. package/dist/_members/media-model/api.js +0 -175
  665. package/dist/_members/media-model/index.js +0 -1
  666. package/dist/_members/media-model/media-kind.js +0 -116
  667. package/dist/_members/media-model/testing/index.js +0 -1
  668. package/dist/_members/media-model/testing/mediaStoreContract.js +0 -82
  669. package/dist/_members/media-model/transcriptSearch.js +0 -70
  670. package/dist/_members/media-model/transcriptSearchCases.json +0 -79
  671. package/dist/_members/nle-export/compact-timeline.js +0 -73
  672. package/dist/_members/nle-export/compact-timeline.js.map +0 -1
  673. package/dist/_members/nle-export/composition-to-input.js +0 -147
  674. package/dist/_members/nle-export/composition-to-input.js.map +0 -1
  675. package/dist/_members/nle-export/fcpxml.js +0 -159
  676. package/dist/_members/nle-export/fcpxml.js.map +0 -1
  677. package/dist/_members/nle-export/index.js +0 -12
  678. package/dist/_members/nle-export/index.js.map +0 -1
  679. package/dist/_members/nle-export/premiere.js +0 -161
  680. package/dist/_members/nle-export/premiere.js.map +0 -1
  681. package/dist/_members/nle-export/server/index.js +0 -2
  682. package/dist/_members/nle-export/server/index.js.map +0 -1
  683. package/dist/_members/nle-export/server/pack-zip.js +0 -38
  684. package/dist/_members/nle-export/server/pack-zip.js.map +0 -1
  685. package/dist/_members/nle-export/srt.js +0 -50
  686. package/dist/_members/nle-export/srt.js.map +0 -1
  687. package/dist/_members/nle-export/types.js +0 -9
  688. package/dist/_members/nle-export/types.js.map +0 -1
  689. package/dist/_members/nle-export/xml/index.js +0 -11
  690. package/dist/_members/nle-export/xml/index.js.map +0 -1
  691. package/dist/_members/nle-export/xml-utils.js +0 -48
  692. package/dist/_members/nle-export/xml-utils.js.map +0 -1
  693. package/dist/_members/perception/activeSpeaker.js +0 -103
  694. package/dist/_members/perception/audioQuality.js +0 -76
  695. package/dist/_members/perception/energyBeat.js +0 -99
  696. package/dist/_members/perception/identityMatch.js +0 -91
  697. package/dist/_members/perception/index.js +0 -48
  698. package/dist/_members/perception/visualQuality.js +0 -95
  699. package/dist/_members/plane/conformance.js +0 -90
  700. package/dist/_members/plane/contract.js +0 -49
  701. package/dist/_members/plane/index.js +0 -16
  702. package/dist/_members/primitives/backgrounds/index.js +0 -32
  703. package/dist/_members/primitives/backgrounds/index.js.map +0 -1
  704. package/dist/_members/primitives/captions/index.js +0 -398
  705. package/dist/_members/primitives/captions/index.js.map +0 -1
  706. package/dist/_members/primitives/chunk-2LVE4UIT.js +0 -139
  707. package/dist/_members/primitives/chunk-2LVE4UIT.js.map +0 -1
  708. package/dist/_members/primitives/chunk-3IQUH6KK.js +0 -20
  709. package/dist/_members/primitives/chunk-3IQUH6KK.js.map +0 -1
  710. package/dist/_members/primitives/chunk-3OMURV6Q.js +0 -112
  711. package/dist/_members/primitives/chunk-3OMURV6Q.js.map +0 -1
  712. package/dist/_members/primitives/chunk-4IS6TMEG.js +0 -21
  713. package/dist/_members/primitives/chunk-4IS6TMEG.js.map +0 -1
  714. package/dist/_members/primitives/chunk-5MWGAEGQ.js +0 -1644
  715. package/dist/_members/primitives/chunk-5MWGAEGQ.js.map +0 -1
  716. package/dist/_members/primitives/chunk-7RRPFPQK.js +0 -15
  717. package/dist/_members/primitives/chunk-7RRPFPQK.js.map +0 -1
  718. package/dist/_members/primitives/chunk-DH5TRZK2.js +0 -125
  719. package/dist/_members/primitives/chunk-DH5TRZK2.js.map +0 -1
  720. package/dist/_members/primitives/chunk-E3KNUSFG.js +0 -2337
  721. package/dist/_members/primitives/chunk-E3KNUSFG.js.map +0 -1
  722. package/dist/_members/primitives/chunk-G2B3G4HK.js +0 -47
  723. package/dist/_members/primitives/chunk-G2B3G4HK.js.map +0 -1
  724. package/dist/_members/primitives/chunk-HFPFGZXT.js +0 -1494
  725. package/dist/_members/primitives/chunk-HFPFGZXT.js.map +0 -1
  726. package/dist/_members/primitives/chunk-HIWVFZVH.js +0 -19
  727. package/dist/_members/primitives/chunk-HIWVFZVH.js.map +0 -1
  728. package/dist/_members/primitives/chunk-IDAL6G3Y.js +0 -134
  729. package/dist/_members/primitives/chunk-IDAL6G3Y.js.map +0 -1
  730. package/dist/_members/primitives/chunk-KNC6JP5F.js +0 -34
  731. package/dist/_members/primitives/chunk-KNC6JP5F.js.map +0 -1
  732. package/dist/_members/primitives/chunk-KYRDVZST.js +0 -459
  733. package/dist/_members/primitives/chunk-KYRDVZST.js.map +0 -1
  734. package/dist/_members/primitives/chunk-LWLHS2NS.js +0 -3410
  735. package/dist/_members/primitives/chunk-LWLHS2NS.js.map +0 -1
  736. package/dist/_members/primitives/chunk-QAQ3P7DR.js +0 -8855
  737. package/dist/_members/primitives/chunk-QAQ3P7DR.js.map +0 -1
  738. package/dist/_members/primitives/chunk-ROV2ODWC.js +0 -81
  739. package/dist/_members/primitives/chunk-ROV2ODWC.js.map +0 -1
  740. package/dist/_members/primitives/chunk-TCRC2FH3.js +0 -183
  741. package/dist/_members/primitives/chunk-TCRC2FH3.js.map +0 -1
  742. package/dist/_members/primitives/chunk-US4YEDAA.js +0 -96
  743. package/dist/_members/primitives/chunk-US4YEDAA.js.map +0 -1
  744. package/dist/_members/primitives/chunk-UVKRO5ER.js +0 -13
  745. package/dist/_members/primitives/chunk-UVKRO5ER.js.map +0 -1
  746. package/dist/_members/primitives/chunk-W4EIIF2I.js +0 -10
  747. package/dist/_members/primitives/chunk-W4EIIF2I.js.map +0 -1
  748. package/dist/_members/primitives/chunk-WPGKIPCO.js +0 -3563
  749. package/dist/_members/primitives/chunk-WPGKIPCO.js.map +0 -1
  750. package/dist/_members/primitives/chunk-WZFLEGMD.js +0 -1435
  751. package/dist/_members/primitives/chunk-WZFLEGMD.js.map +0 -1
  752. package/dist/_members/primitives/chunk-XHU3WBEI.js +0 -33
  753. package/dist/_members/primitives/chunk-XHU3WBEI.js.map +0 -1
  754. package/dist/_members/primitives/chunk-YN7WTZZ7.js +0 -46
  755. package/dist/_members/primitives/chunk-YN7WTZZ7.js.map +0 -1
  756. package/dist/_members/primitives/effects/index.js +0 -30
  757. package/dist/_members/primitives/effects/index.js.map +0 -1
  758. package/dist/_members/primitives/hero-text/index.js +0 -14
  759. package/dist/_members/primitives/hero-text/index.js.map +0 -1
  760. package/dist/_members/primitives/index.js +0 -64
  761. package/dist/_members/primitives/index.js.map +0 -1
  762. package/dist/_members/primitives/layouts/index.js +0 -24
  763. package/dist/_members/primitives/layouts/index.js.map +0 -1
  764. package/dist/_members/primitives/lib/easings.js +0 -26
  765. package/dist/_members/primitives/lib/easings.js.map +0 -1
  766. package/dist/_members/primitives/lib/index.js +0 -74
  767. package/dist/_members/primitives/lib/index.js.map +0 -1
  768. package/dist/_members/primitives/lib/palette.js +0 -72
  769. package/dist/_members/primitives/lib/palette.js.map +0 -1
  770. package/dist/_members/primitives/lib/preview.js +0 -8
  771. package/dist/_members/primitives/lib/preview.js.map +0 -1
  772. package/dist/_members/primitives/lib/schema.js +0 -12
  773. package/dist/_members/primitives/lib/schema.js.map +0 -1
  774. package/dist/_members/primitives/lib/seeded-random.js +0 -14
  775. package/dist/_members/primitives/lib/seeded-random.js.map +0 -1
  776. package/dist/_members/primitives/lib/text/contrast.js +0 -12
  777. package/dist/_members/primitives/lib/text/contrast.js.map +0 -1
  778. package/dist/_members/primitives/lib/text/fill.js +0 -8
  779. package/dist/_members/primitives/lib/text/fill.js.map +0 -1
  780. package/dist/_members/primitives/lib/text/fitText.js +0 -10
  781. package/dist/_members/primitives/lib/text/fitText.js.map +0 -1
  782. package/dist/_members/primitives/lib/text/marker.js +0 -8
  783. package/dist/_members/primitives/lib/text/marker.js.map +0 -1
  784. package/dist/_members/primitives/lib/text/motion.js +0 -16
  785. package/dist/_members/primitives/lib/text/motion.js.map +0 -1
  786. package/dist/_members/primitives/lib/text/recolor.js +0 -8
  787. package/dist/_members/primitives/lib/text/recolor.js.map +0 -1
  788. package/dist/_members/primitives/lib/text/spec.js +0 -1
  789. package/dist/_members/primitives/lib/text/spec.js.map +0 -1
  790. package/dist/_members/primitives/lib/text/stage.js +0 -8
  791. package/dist/_members/primitives/lib/text/stage.js.map +0 -1
  792. package/dist/_members/primitives/lib/text/typeface.js +0 -8
  793. package/dist/_members/primitives/lib/text/typeface.js.map +0 -1
  794. package/dist/_members/primitives/lib/tokens.js +0 -24
  795. package/dist/_members/primitives/lib/tokens.js.map +0 -1
  796. package/dist/_members/primitives/lib/types.js +0 -1
  797. package/dist/_members/primitives/lib/types.js.map +0 -1
  798. package/dist/_members/primitives/params-required.json +0 -153
  799. package/dist/_members/primitives/scenes/index.js +0 -25
  800. package/dist/_members/primitives/scenes/index.js.map +0 -1
  801. package/dist/_members/primitives/subject-foreground/index.js +0 -30
  802. package/dist/_members/primitives/subject-foreground/index.js.map +0 -1
  803. package/dist/_members/primitives/text/index.js +0 -57
  804. package/dist/_members/primitives/text/index.js.map +0 -1
  805. package/dist/_members/primitives/transitions/index.js +0 -67
  806. package/dist/_members/primitives/transitions/index.js.map +0 -1
  807. package/dist/_members/primitives/ui-blocks/index.js +0 -76
  808. package/dist/_members/primitives/ui-blocks/index.js.map +0 -1
  809. package/dist/_members/primitives/version-map.json +0 -105
  810. package/dist/_members/primitives/workspace.js +0 -60
  811. package/dist/_members/primitives/workspace.js.map +0 -1
  812. package/dist/chunk-37NJ27UU.js +0 -501
  813. package/dist/chunk-6EQXLEP6.js +0 -194
  814. package/dist/chunk-MXFAADCQ.js +0 -735
  815. package/dist/context-OKX3HHFS.js +0 -14
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/scenes/changelog-bite/index.tsx","../src/scenes/live-code-compilation/index.tsx","../src/scenes/product-launch-trailer/index.tsx","../src/scenes/hero-device-assemble/index.tsx","../src/scenes/pricing-tier-focus/index.tsx","../src/scenes/landing-code-showcase/index.tsx","../src/scenes/landing-code-showcase/timeline.ts","../src/scenes/terminal-to-browser-deploy/index.tsx","../src/scenes/changelog-bite/config.ts","../src/scenes/live-code-compilation/config.ts","../src/scenes/product-launch-trailer/config.ts","../src/scenes/hero-device-assemble/config.ts","../src/scenes/pricing-tier-focus/config.ts","../src/scenes/landing-code-showcase/config.ts","../src/scenes/terminal-to-browser-deploy/config.ts","../src/scenes/index.ts"],"sourcesContent":["/**\n * Adapted from remocn (https://github.com/kapishdima/remocn) — MIT\n * Copyright (c) 2026 KapishDima\n *\n * Modifications:\n * - hermetic-ize fontFamily (use inherit / monospace, not Geist CSS vars)\n * - strip \"use client\" directive (re-added at shadcn-registry export time)\n */\n\nimport type { ReactNode } from \"react\";\nimport {\n AbsoluteFill,\n Easing,\n interpolate,\n spring,\n useCurrentFrame,\n useVideoConfig,\n} from \"remotion\";\nimport * as palette from \"../../lib/palette\";\n\nexport interface ChangelogBiteProps {\n label?: string;\n title?: string;\n /** ReactNode escape hatch (host-only; NOT expressible over the JSON params bag). */\n oldContent?: ReactNode;\n /** ReactNode escape hatch (host-only; NOT expressible over the JSON params bag). */\n newContent?: ReactNode;\n /** BEFORE-panel content as plain lines — the JSON-serializable comparison slot. */\n oldLines?: string[];\n /** AFTER-panel content as plain lines — the JSON-serializable comparison slot. */\n newLines?: string[];\n format?: \"square\" | \"portrait\";\n background?: string;\n cardBackground?: string;\n accent?: string;\n speed?: number;\n className?: string;\n}\n\nconst FONT_FAMILY =\n \"inherit\";\nconst MONO_FAMILY =\n \"monospace\";\n\nconst SOFT = Easing.bezier(0.16, 1, 0.3, 1);\n\nexport function ChangelogBite({\n label = \"New\",\n title = \"Inline diff view\",\n oldContent,\n newContent,\n oldLines,\n newLines,\n format = \"square\",\n background = palette.BG,\n cardBackground = palette.SURFACE,\n accent = palette.ACCENT_SOFT,\n speed = 1,\n className,\n}: ChangelogBiteProps) {\n const frame = useCurrentFrame() * speed;\n const { fps, durationInFrames } = useVideoConfig();\n\n // ── Card scale/opacity envelope (loop seam) ─────────────────────────────\n // First 10 frames: 0.95 → 1.0, 0 → 1\n // Last 15 frames: 1.0 → 0.95, 1 → 0\n // The match means a flat-cut from final to first frame is invisible.\n const enterT = interpolate(frame, [0, 10], [0, 1], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n easing: SOFT,\n });\n const exitT = interpolate(\n frame,\n [durationInFrames - 15, durationInFrames - 1],\n [0, 1],\n { extrapolateLeft: \"clamp\", extrapolateRight: \"clamp\", easing: SOFT },\n );\n const cardScale = 0.95 + enterT * 0.05 - exitT * 0.05;\n const cardOpacity = enterT * (1 - exitT);\n\n // ── Wipe progress (frosted glass + clip) ────────────────────────────────\n const wipe = spring({\n frame: frame - 60,\n fps,\n config: { damping: 18, mass: 0.9, stiffness: 90 },\n durationInFrames: 50,\n });\n const wipePct = wipe * 100;\n\n // ── Aspect-driven inner card sizing ─────────────────────────────────────\n const isSquare = format === \"square\";\n const cardWidth = isSquare ? 880 : 880;\n const cardHeight = isSquare ? 880 : 1100;\n\n // Resolution order per panel: an explicit ReactNode (host-only) wins; else the\n // JSON-serializable `oldLines`/`newLines` slot; else the baked sample diff.\n // Omitting the params renders EXACTLY the legacy DefaultOldPanel/DefaultNewPanel\n // (zero visual regression).\n const oldNode =\n oldContent ??\n (oldLines && oldLines.length > 0 ? (\n <LinesPanel lines={oldLines} variant=\"old\" accent={accent} />\n ) : (\n <DefaultOldPanel accent={accent} />\n ));\n const newNode =\n newContent ??\n (newLines && newLines.length > 0 ? (\n <LinesPanel lines={newLines} variant=\"new\" accent={accent} />\n ) : (\n <DefaultNewPanel accent={accent} />\n ));\n\n return (\n <AbsoluteFill\n className={className}\n style={{\n background,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontFamily: FONT_FAMILY,\n }}\n >\n <div\n style={{\n width: cardWidth,\n height: cardHeight,\n borderRadius: 56,\n background: cardBackground,\n border: `1px solid ${accent}33`,\n opacity: cardOpacity,\n transform: `scale(${cardScale})`,\n transformOrigin: \"center\",\n willChange: \"transform, opacity\",\n padding: 56,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 28,\n position: \"relative\",\n overflow: \"hidden\",\n }}\n >\n {/* Header row: title + New pill */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <div\n style={{\n color: \"rgba(255,255,255,0.55)\",\n fontSize: 22,\n letterSpacing: \"0.02em\",\n }}\n >\n {title}\n </div>\n <PulsingPill label={label} color={accent} speed={speed} />\n </div>\n\n {/* Diff stage */}\n <div\n style={{\n position: \"relative\",\n flex: 1,\n borderRadius: 32,\n overflow: \"hidden\",\n background: \"rgba(8,7,12,0.6)\",\n border: \"1px solid rgba(255,255,255,0.05)\",\n }}\n >\n {/* New (bottom layer) */}\n <div style={{ position: \"absolute\", inset: 0 }}>{newNode}</div>\n\n {/* Old (top layer, clipped left-to-right) */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n clipPath: `inset(0 ${wipePct}% 0 0)`,\n willChange: \"clip-path\",\n }}\n >\n {oldNode}\n </div>\n\n {/* Frosted glass shutter sweeping over the seam */}\n {wipePct > 0 && wipePct < 100 && (\n <div\n style={{\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: `calc(${wipePct}% - 60px)`,\n width: 120,\n background:\n \"linear-gradient(90deg, rgba(255,255,255,0.0) 0%, rgba(255,255,255,0.10) 50%, rgba(255,255,255,0.0) 100%)\",\n backdropFilter: \"blur(18px)\",\n WebkitBackdropFilter: \"blur(18px)\",\n pointerEvents: \"none\",\n }}\n />\n )}\n\n {/* Subtle accent seam line */}\n {wipePct > 0 && wipePct < 100 && (\n <div\n style={{\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: `${wipePct}%`,\n width: 1.5,\n background: accent,\n opacity: 0.55,\n pointerEvents: \"none\",\n }}\n />\n )}\n </div>\n\n {/* Footer caption — labels swap mid-wipe */}\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n color: \"rgba(255,255,255,0.4)\",\n fontSize: 16,\n fontFamily: MONO_FAMILY,\n }}\n >\n <span style={{ opacity: 1 - wipe }}>before</span>\n <span style={{ opacity: wipe }}>after</span>\n </div>\n </div>\n </AbsoluteFill>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Agent-supplied content (oldLines/newLines) */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Render the agent's `oldLines`/`newLines` in the SAME panel chrome as the baked\n * defaults (mono text + BEFORE/AFTER corner badge), so the JSON-serializable\n * comparison slot lands with the scene's visual identity intact. The \"old\"\n * variant is muted (de-emphasized, like the pre-change state); the \"new\" variant\n * is bright with the accent gradient + badge.\n */\nfunction LinesPanel({\n lines,\n variant,\n accent,\n}: {\n lines: string[];\n variant: \"old\" | \"new\";\n accent: string;\n}) {\n const isOld = variant === \"old\";\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background: isOld\n ? palette.BG_DEEP\n : \"radial-gradient(ellipse at 50% 30%, rgba(255,179,142,0.10) 0%, rgba(10,9,14,1) 70%)\",\n padding: \"44px 52px\",\n fontFamily: MONO_FAMILY,\n color: isOld ? palette.TEXT_MUTED : palette.TEXT,\n fontSize: 22,\n lineHeight: 1.55,\n whiteSpace: \"pre\",\n }}\n >\n {lines.map((line, i) => (\n <div key={i}>{line === \"\" ? \" \" : line}</div>\n ))}\n <div\n style={{\n marginTop: 24,\n display: \"inline-block\",\n padding: \"6px 14px\",\n borderRadius: 999,\n background: isOld ? `${palette.DANGER}1f` : `${accent}1a`,\n border: isOld ? `1px solid ${palette.DANGER}59` : `1px solid ${accent}55`,\n color: isOld ? palette.DANGER : accent,\n fontSize: 13,\n letterSpacing: \"0.12em\",\n fontWeight: 700,\n }}\n >\n {isOld ? \"BEFORE\" : \"AFTER\"}\n </div>\n </div>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Default content */\n/* -------------------------------------------------------------------------- */\n\nfunction DefaultOldPanel({ accent }: { accent: string }) {\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background: palette.BG_DEEP,\n padding: \"44px 52px\",\n fontFamily: MONO_FAMILY,\n color: palette.TEXT_MUTED,\n fontSize: 22,\n lineHeight: 1.55,\n whiteSpace: \"pre\",\n }}\n >\n <div>{\"function diff(a, b) {\"}</div>\n <div>{\" if (a === b) return null;\"}</div>\n <div>{\" return {\"}</div>\n <div>{\" before: a,\"}</div>\n <div>{\" after: b,\"}</div>\n <div>{\" };\"}</div>\n <div>{\"}\"}</div>\n <div\n style={{\n marginTop: 24,\n display: \"inline-block\",\n padding: \"6px 14px\",\n borderRadius: 999,\n background: `${palette.DANGER}1f`,\n border: `1px solid ${palette.DANGER}59`,\n color: palette.DANGER,\n fontSize: 13,\n letterSpacing: \"0.12em\",\n fontWeight: 700,\n }}\n >\n BEFORE\n </div>\n {/* swallow lint */}\n <span style={{ display: \"none\" }}>{accent}</span>\n </div>\n );\n}\n\nfunction DefaultNewPanel({ accent }: { accent: string }) {\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background:\n \"radial-gradient(ellipse at 50% 30%, rgba(255,179,142,0.10) 0%, rgba(10,9,14,1) 70%)\",\n padding: \"44px 52px\",\n fontFamily: MONO_FAMILY,\n color: palette.TEXT,\n fontSize: 22,\n lineHeight: 1.55,\n whiteSpace: \"pre\",\n }}\n >\n <div>\n <span style={{ color: palette.SYN_KEYWORD }}>function</span>{\" \"}\n <span style={{ color: palette.SYN_FN }}>diff</span>\n {\"(a, b) {\"}\n </div>\n <div>\n {\" return \"}\n <span style={{ color: palette.SYN_STRING }}>visualDiff</span>\n {\"(a, b);\"}\n </div>\n <div>{\"}\"}</div>\n <div\n style={{\n marginTop: 24,\n display: \"inline-block\",\n padding: \"6px 14px\",\n borderRadius: 999,\n background: `${accent}1a`,\n border: `1px solid ${accent}55`,\n color: accent,\n fontSize: 13,\n letterSpacing: \"0.12em\",\n fontWeight: 700,\n }}\n >\n AFTER\n </div>\n </div>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Pulsing pill */\n/* -------------------------------------------------------------------------- */\n\nfunction PulsingPill({\n label,\n color,\n speed,\n}: {\n label: string;\n color: string;\n speed: number;\n}) {\n const frame = useCurrentFrame() * speed;\n const wave = (Math.sin(frame / 8) + 1) / 2;\n const dotScale = 0.92 + wave * 0.16;\n const ringPhase = (frame % 60) / 60;\n const ringScale = 1 + ringPhase * 1.6;\n const ringOpacity = (1 - ringPhase) * 0.6;\n\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 12,\n padding: \"10px 18px 10px 14px\",\n borderRadius: 999,\n background: `${color}1a`,\n border: `1px solid ${color}55`,\n color,\n fontSize: 16,\n fontWeight: 600,\n letterSpacing: \"0.02em\",\n }}\n >\n <div style={{ position: \"relative\", width: 12, height: 12 }}>\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n borderRadius: \"50%\",\n background: color,\n opacity: ringOpacity,\n transform: `scale(${ringScale})`,\n }}\n />\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n borderRadius: \"50%\",\n background: color,\n transform: `scale(${dotScale})`,\n }}\n />\n </div>\n {label}\n </div>\n );\n}\n","/**\n * Adapted from remocn (https://github.com/kapishdima/remocn) — MIT\n * Copyright (c) 2026 KapishDima\n *\n * Modifications:\n * - hermetic-ize fontFamily (use inherit / monospace, not Geist CSS vars)\n * - strip \"use client\" directive (re-added at shadcn-registry export time)\n */\n\nimport { useCurrentFrame } from \"remotion\";\nimport * as palette from \"../../lib/palette\";\n\nexport interface LiveCodeCompilationProps {\n accentColor?: string;\n speed?: number;\n className?: string;\n}\n\nconst FONT_FAMILY =\n \"inherit\";\nconst MONO_FAMILY =\n \"monospace\";\n\ninterface UIState {\n background?: string;\n color?: string;\n padding?: string;\n borderRadius?: string;\n fontWeight?: number;\n label?: string;\n}\n\ninterface CodeEvent {\n code: string;\n ui: UIState;\n}\n\nconst EVENTS: CodeEvent[] = [\n {\n code: \"export function Button() {\\n return (\\n <button\",\n ui: {},\n },\n { code: \"\\n style={{\", ui: {} },\n {\n code: '\\n background: \"#7b93b0\",',\n ui: { background: \"#7b93b0\" },\n },\n {\n code: '\\n color: \"white\",',\n ui: { color: \"white\" },\n },\n {\n code: '\\n padding: \"12px 28px\",',\n ui: { padding: \"12px 28px\" },\n },\n {\n code: '\\n borderRadius: \"999px\",',\n ui: { borderRadius: \"999px\" },\n },\n {\n code: \"\\n fontWeight: 600,\",\n ui: { fontWeight: 600 },\n },\n {\n code: \"\\n }}\\n >\\n Ship it\\n </button>\\n );\\n}\",\n ui: { label: \"Ship it\" },\n },\n];\n\nconst CHARS_PER_FRAME = 1.6;\nconst DWELL_FRAMES = 5;\nconst INITIAL_OFFSET = 8;\n\ninterface TimelineEntry extends CodeEvent {\n start: number;\n end: number;\n}\n\nconst TIMELINE: TimelineEntry[] = (() => {\n let cursor = INITIAL_OFFSET;\n return EVENTS.map((ev) => {\n const start = cursor;\n const end = start + Math.ceil(ev.code.length / CHARS_PER_FRAME);\n cursor = end + DWELL_FRAMES;\n return { ...ev, start, end };\n });\n})();\nconst TIMELINE_END = TIMELINE[TIMELINE.length - 1].end;\n\nfunction highlightLine(line: string, accentColor: string) {\n // very simple tokenizer: keywords, strings, props\n const tokens: { text: string; color: string }[] = [];\n const regex =\n /(\\bexport\\b|\\bfunction\\b|\\breturn\\b)|(\"[^\"]*\")|(\\b[a-zA-Z_][a-zA-Z0-9_]*)(?=:)|(\\{|\\}|\\(|\\)|<|>|\\/)|([0-9]+)/g;\n let lastIndex = 0;\n let m: RegExpExecArray | null = regex.exec(line);\n while (m !== null) {\n if (m.index > lastIndex) {\n tokens.push({\n text: line.slice(lastIndex, m.index),\n color: palette.SYN_TEXT,\n });\n }\n if (m[1]) tokens.push({ text: m[1], color: palette.SYN_KEYWORD });\n else if (m[2]) tokens.push({ text: m[2], color: palette.SYN_STRING });\n else if (m[3]) tokens.push({ text: m[3], color: accentColor });\n else if (m[4]) tokens.push({ text: m[4], color: palette.SYN_COMMENT });\n else if (m[5]) tokens.push({ text: m[5], color: palette.SYN_NUMBER });\n lastIndex = regex.lastIndex;\n m = regex.exec(line);\n }\n if (lastIndex < line.length) {\n tokens.push({ text: line.slice(lastIndex), color: palette.SYN_TEXT });\n }\n return tokens;\n}\n\nexport function LiveCodeCompilation({\n accentColor = \"#7b93b0\",\n speed = 1,\n className,\n}: LiveCodeCompilationProps) {\n const frame = useCurrentFrame() * speed;\n\n // Build the visible code character-by-character from the auto-staggered\n // timeline. UI state only flips once a fragment is fully typed.\n let visibleCode = \"\";\n const ui: UIState = {};\n for (const t of TIMELINE) {\n if (frame < t.start) break;\n const elapsed = frame - t.start;\n const charsTyped = Math.min(\n t.code.length,\n Math.floor(elapsed * CHARS_PER_FRAME),\n );\n visibleCode += t.code.slice(0, charsTyped);\n if (frame >= t.end) Object.assign(ui, t.ui);\n }\n\n const lines = visibleCode.split(\"\\n\");\n const buttonLabel = ui.label ?? \"Button\";\n\n // Blinking caret while typing is still in progress.\n const cursorVisible =\n frame < TIMELINE_END && Math.floor(frame / 12) % 2 === 0;\n const lastLineIndex = lines.length - 1;\n\n return (\n <div\n className={className}\n style={{\n position: \"absolute\",\n inset: 0,\n background: palette.BG,\n overflow: \"hidden\",\n fontFamily: FONT_FAMILY,\n display: \"flex\",\n }}\n >\n {/* subtle backdrop gradient */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background:\n `radial-gradient(ellipse at 20% 30%, ${palette.BLUE}14, transparent 60%), radial-gradient(ellipse at 80% 70%, ${palette.VIOLET}0f, transparent 60%)`,\n }}\n />\n\n {/* LEFT: Glass code window */}\n <div\n style={{\n flex: 1,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: 48,\n position: \"relative\",\n }}\n >\n <div\n style={{\n width: \"100%\",\n maxWidth: 560,\n position: \"relative\",\n borderRadius: 14,\n padding: 1,\n background:\n \"linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.06) 100%)\",\n }}\n >\n <div\n style={{\n borderRadius: 13,\n background: \"rgba(12,12,14,0.85)\",\n backdropFilter: \"blur(20px)\",\n overflow: \"hidden\",\n }}\n >\n {/* Title bar */}\n <div\n style={{\n height: 38,\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0 16px\",\n borderBottom: \"1px solid rgba(255,255,255,0.06)\",\n gap: 8,\n }}\n >\n <div\n style={{\n width: 11,\n height: 11,\n borderRadius: 6,\n background: \"#ff5f57\",\n opacity: 0.6,\n }}\n />\n <div\n style={{\n width: 11,\n height: 11,\n borderRadius: 6,\n background: \"#febc2e\",\n opacity: 0.6,\n }}\n />\n <div\n style={{\n width: 11,\n height: 11,\n borderRadius: 6,\n background: \"#28c840\",\n opacity: 0.6,\n }}\n />\n <div\n style={{\n marginLeft: 12,\n fontSize: 12,\n color: \"rgba(255,255,255,0.45)\",\n fontFamily: MONO_FAMILY,\n }}\n >\n Button.tsx\n </div>\n </div>\n {/* Code body */}\n <div\n style={{\n padding: \"20px 22px\",\n fontFamily: MONO_FAMILY,\n fontSize: 14,\n lineHeight: 1.65,\n color: palette.SYN_TEXT,\n minHeight: 360,\n }}\n >\n {lines.map((line, i) => {\n const tokens = highlightLine(line, accentColor);\n const isLast = i === lastLineIndex;\n return (\n <div key={i} style={{ display: \"flex\", whiteSpace: \"pre\" }}>\n <span\n style={{\n width: 28,\n color: \"rgba(255,255,255,0.2)\",\n userSelect: \"none\",\n flexShrink: 0,\n }}\n >\n {i + 1}\n </span>\n <span>\n {tokens.length === 0 ? (\n <span> </span>\n ) : (\n tokens.map((t, j) => (\n <span key={j} style={{ color: t.color }}>\n {t.text}\n </span>\n ))\n )}\n {isLast && cursorVisible && (\n <span\n style={{\n display: \"inline-block\",\n width: 8,\n height: 16,\n marginLeft: 1,\n verticalAlign: \"text-bottom\",\n background: accentColor,\n }}\n />\n )}\n </span>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n\n {/* RIGHT: Live preview */}\n <div\n style={{\n flex: 1,\n position: \"relative\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderLeft: \"1px solid rgba(255,255,255,0.05)\",\n background:\n \"repeating-conic-gradient(rgba(255,255,255,0.018) 0deg 90deg, transparent 90deg 180deg) 0 0 / 28px 28px\",\n }}\n >\n {/* Preview label */}\n <div\n style={{\n position: \"absolute\",\n top: 24,\n left: 24,\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n }}\n >\n <div\n style={{\n width: 8,\n height: 8,\n borderRadius: 4,\n background: palette.SUCCESS,\n }}\n />\n <div\n style={{\n fontSize: 11,\n fontFamily: MONO_FAMILY,\n color: \"rgba(255,255,255,0.5)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.08em\",\n }}\n >\n Preview · HMR\n </div>\n </div>\n\n {/* The button — all styles applied with no transition */}\n <button\n type=\"button\"\n style={{\n background: ui.background ?? \"rgba(255,255,255,0.06)\",\n color: ui.color ?? \"rgba(255,255,255,0.4)\",\n padding: ui.padding ?? \"10px 20px\",\n borderRadius: ui.borderRadius ?? \"4px\",\n fontWeight: ui.fontWeight ?? 400,\n fontSize: 18,\n fontFamily: FONT_FAMILY,\n border: ui.background\n ? \"none\"\n : \"1px dashed rgba(255,255,255,0.15)\",\n cursor: \"pointer\",\n transition: \"none\",\n }}\n >\n {buttonLabel}\n </button>\n </div>\n </div>\n );\n}\n","/**\n * Adapted from remocn (https://github.com/kapishdima/remocn) — MIT\n * Copyright (c) 2026 KapishDima\n *\n * Modifications:\n * - hermetic-ize fontFamily (use inherit / monospace, not Geist CSS vars)\n * - strip \"use client\" directive (re-added at shadcn-registry export time)\n */\n\nimport {\n AbsoluteFill,\n Easing,\n interpolate,\n random,\n Sequence,\n spring,\n useCurrentFrame,\n useVideoConfig,\n} from \"remotion\";\nimport * as palette from \"../../lib/palette\";\n\nexport interface ProductLaunchTrailerProps {\n logoLabel?: string;\n productName?: string;\n versionLabel?: string;\n accentPeach?: string;\n accentLavender?: string;\n accentMint?: string;\n background?: string;\n speed?: number;\n className?: string;\n}\n\nconst FONT_FAMILY =\n \"inherit\";\nconst MONO_FAMILY =\n \"monospace\";\n\n// Soft \"Tactile\" easing — used for every camera move and reveal.\nconst SOFT = Easing.bezier(0.16, 1, 0.3, 1);\n\n// Sequence anchors (frames). All later math is derived from these so the\n// trailer is easy to retime in one place.\nconst T = {\n pulseStart: 0,\n pulseEnd: 50,\n zoomStart: 38,\n zoomEnd: 78,\n shellStart: 70,\n flyStart: 110,\n flyEnd: 200,\n outroStart: 190,\n outroEnd: 240,\n};\n\nexport function ProductLaunchTrailer({\n logoLabel = \"R\",\n productName = \"Remocn\",\n versionLabel = \"v1.0 is live\",\n accentPeach = palette.ACCENT_SOFT,\n accentLavender = palette.VIOLET,\n accentMint = palette.SUCCESS,\n background = palette.BG,\n speed = 1,\n className,\n}: ProductLaunchTrailerProps) {\n return (\n <AbsoluteFill className={className} style={{ background }}>\n {/* TODO(audio): TransitionWhoosh @ frame ~38, SuccessChime @ frame ~200 */}\n\n <Sequence from={T.pulseStart} durationInFrames={T.zoomEnd - T.pulseStart}>\n <PulseLogo\n label={logoLabel}\n name={productName}\n accentLavender={accentLavender}\n background={background}\n speed={speed}\n />\n </Sequence>\n\n <Sequence from={T.shellStart} durationInFrames={T.outroEnd - T.shellStart}>\n <AppShellFlyover\n accentPeach={accentPeach}\n accentLavender={accentLavender}\n accentMint={accentMint}\n background={background}\n speed={speed}\n flyStartLocal={T.flyStart - T.shellStart}\n flyEndLocal={T.flyEnd - T.shellStart}\n outroStartLocal={T.outroStart - T.shellStart}\n />\n </Sequence>\n\n <Sequence\n from={T.outroStart}\n durationInFrames={T.outroEnd - T.outroStart + 1}\n >\n <Outro\n versionLabel={versionLabel}\n accentMint={accentMint}\n accentPeach={accentPeach}\n accentLavender={accentLavender}\n speed={speed}\n />\n </Sequence>\n </AbsoluteFill>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Phase 1 */\n/* -------------------------------------------------------------------------- */\n\nfunction PulseLogo({\n label,\n name,\n accentLavender,\n background,\n speed,\n}: {\n label: string;\n name: string;\n accentLavender: string;\n background: string;\n speed: number;\n}) {\n const frame = useCurrentFrame() * speed;\n const localDuration = T.zoomEnd - T.pulseStart;\n\n // Soft pulse — sin wave on a slow period, modulating both glow and scale.\n const pulse = (Math.sin(frame / 6) + 1) / 2; // 0..1\n\n // After pulseEnd we hand off to the zoom transition: scale up + fade out.\n const zoomLocal = Math.max(0, frame - (T.zoomStart - T.pulseStart));\n const zoomDuration = T.zoomEnd - T.zoomStart;\n const zoom = interpolate(zoomLocal, [0, zoomDuration], [1, 14], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n easing: Easing.bezier(0.7, 0, 0.84, 0),\n });\n const fade = interpolate(zoomLocal, [zoomDuration * 0.5, zoomDuration], [1, 0], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n });\n\n const baseScale = 0.96 + pulse * 0.04;\n const glowAlpha = 0.35 + pulse * 0.4;\n\n const labelOpacity = interpolate(frame, [4, 18], [0, 1], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n });\n\n return (\n <AbsoluteFill\n style={{\n // Exposure lift — the scene graded ~1.5 stops under launch-video norm.\n filter: 'brightness(1.28) contrast(1.03)',\n background,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <div\n style={{\n transform: `scale(${zoom * baseScale})`,\n opacity: fade,\n willChange: \"transform, opacity\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 28,\n }}\n >\n {/* Logo squircle */}\n <div\n style={{\n width: 200,\n height: 200,\n borderRadius: 56,\n background:\n \"linear-gradient(160deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.02) 100%)\",\n border: `1px solid ${accentLavender}55`,\n boxShadow: `0 0 ${60 + pulse * 80}px ${accentLavender}${toHex(\n glowAlpha,\n )}, inset 0 1px 0 rgba(255,255,255,0.12)`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"white\",\n fontFamily: FONT_FAMILY,\n fontSize: 112,\n fontWeight: 700,\n letterSpacing: \"-0.06em\",\n }}\n >\n {label}\n </div>\n\n {/* Product name */}\n <div\n style={{\n opacity: labelOpacity,\n color: \"rgba(255,255,255,0.92)\",\n fontFamily: FONT_FAMILY,\n fontSize: 28,\n fontWeight: 500,\n letterSpacing: \"0.02em\",\n }}\n >\n {name}\n </div>\n </div>\n {/* swallow lint: localDuration kept for reference */}\n <span style={{ display: \"none\" }}>{localDuration}</span>\n </AbsoluteFill>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Phase 2 */\n/* -------------------------------------------------------------------------- */\n\nfunction AppShellFlyover({\n accentPeach,\n accentLavender,\n accentMint,\n background,\n speed,\n flyStartLocal,\n flyEndLocal,\n outroStartLocal,\n}: {\n accentPeach: string;\n accentLavender: string;\n accentMint: string;\n background: string;\n speed: number;\n flyStartLocal: number;\n flyEndLocal: number;\n outroStartLocal: number;\n}) {\n const frame = useCurrentFrame() * speed;\n\n // Shell fade-in — comes in right after the zoom punches through.\n const enter = interpolate(frame, [0, 14], [0, 1], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n easing: SOFT,\n });\n\n // 3D camera fly-over: rx, ry, tz, scale all interpolated with the soft bezier.\n const flyT = interpolate(frame, [flyStartLocal, flyEndLocal], [0, 1], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n easing: SOFT,\n });\n // Outro pull-back blends the camera away.\n const outroT = interpolate(\n frame,\n [outroStartLocal, outroStartLocal + 30],\n [0, 1],\n {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n easing: SOFT,\n },\n );\n\n const rx = interpolate(flyT, [0, 1], [0, -8]) * (1 - outroT);\n const ry = interpolate(flyT, [0, 1], [-6, 6]) * (1 - outroT);\n const tz =\n interpolate(flyT, [0, 1], [-220, 80]) * (1 - outroT) +\n outroT * -360;\n const scaleBoost =\n interpolate(flyT, [0, 1], [0.92, 1.04]) * (1 - outroT) + outroT * 0.84;\n\n // Drop-shadow blur grows when the camera hovers above the cards (tz > 0).\n const shadowBlur = Math.max(20, 28 + tz * 0.4);\n const shadowOpacity = 0.35 + Math.max(0, tz / 180) * 0.35;\n\n return (\n <AbsoluteFill\n style={{\n // Exposure lift — the scene graded ~1.5 stops under launch-video norm.\n filter: 'brightness(1.28) contrast(1.03)',\n background,\n opacity: enter,\n perspective: 2000,\n perspectiveOrigin: \"50% 45%\",\n }}\n >\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n transformStyle: \"preserve-3d\",\n transform: `rotateX(${rx}deg) rotateY(${ry}deg) translateZ(${tz}px) scale(${scaleBoost})`,\n willChange: \"transform\",\n }}\n >\n {/* Faint border to suggest the app frame */}\n <div\n style={{\n position: \"absolute\",\n inset: 40,\n borderRadius: 24,\n border: `1px solid ${accentLavender}1f`,\n background:\n \"linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0) 100%)\",\n }}\n />\n\n {/* Glass code block on the left */}\n <div\n style={{\n position: \"absolute\",\n left: 80,\n top: 110,\n width: 520,\n height: 500,\n transform: \"translateZ(20px)\",\n filter: `drop-shadow(0 22px ${shadowBlur}px ${accentLavender}${toHex(\n shadowOpacity,\n )})`,\n }}\n >\n <FauxCodeBlock accentLavender={accentLavender} accentMint={accentMint} />\n </div>\n\n {/* Bento grid on the right */}\n <div\n style={{\n position: \"absolute\",\n right: 80,\n top: 110,\n width: 540,\n height: 500,\n transform: \"translateZ(40px)\",\n filter: `drop-shadow(0 22px ${shadowBlur}px ${accentPeach}${toHex(\n shadowOpacity,\n )})`,\n }}\n >\n <FauxBentoGrid\n accentPeach={accentPeach}\n accentLavender={accentLavender}\n accentMint={accentMint}\n speed={speed}\n />\n </div>\n </div>\n </AbsoluteFill>\n );\n}\n\nfunction FauxCodeBlock({\n accentLavender,\n accentMint,\n}: {\n accentLavender: string;\n accentMint: string;\n}) {\n const frame = useCurrentFrame();\n const lines = [\n { t: \"import { Trailer } from 'remocn'\", c: palette.SYN_KEYWORD },\n { t: \"\", c: \"\" },\n { t: \"export const Scene = () => (\", c: palette.SYN_TEXT },\n { t: \" <Trailer\", c: palette.SYN_TEXT },\n { t: ` label=\"v1.0\"`, c: palette.SYN_STRING },\n { t: ` accent=\"lavender\"`, c: palette.SYN_NUMBER },\n { t: \" />\", c: palette.SYN_TEXT },\n { t: \")\", c: palette.SYN_TEXT },\n ];\n\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n borderRadius: 20,\n background: \"rgba(20,19,24,0.78)\",\n backdropFilter: \"blur(18px)\",\n WebkitBackdropFilter: \"blur(18px)\",\n border: `1px solid ${accentLavender}33`,\n overflow: \"hidden\",\n fontFamily: MONO_FAMILY,\n }}\n >\n {/* Title bar */}\n <div\n style={{\n height: 38,\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n padding: \"0 16px\",\n borderBottom: \"1px solid rgba(255,255,255,0.06)\",\n }}\n >\n {[palette.ACCENT_SOFT, palette.WARNING, accentMint].map((c) => (\n <div\n key={c}\n style={{\n width: 10,\n height: 10,\n borderRadius: \"50%\",\n background: c,\n opacity: 0.85,\n }}\n />\n ))}\n <span\n style={{\n marginLeft: 12,\n color: \"rgba(255,255,255,0.45)\",\n fontSize: 12,\n }}\n >\n scene.tsx\n </span>\n </div>\n\n {/* Code lines, staggered in */}\n <div style={{ padding: \"20px 22px\", display: \"flex\", flexDirection: \"column\", gap: 6 }}>\n {lines.map((line, i) => {\n const local = frame - 14 - i * 5;\n const o = interpolate(local, [0, 10], [0, 1], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n });\n const x = interpolate(local, [0, 10], [12, 0], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n });\n return (\n <div\n key={i}\n style={{\n display: \"flex\",\n gap: 14,\n opacity: o,\n transform: `translateX(${x}px)`,\n fontSize: 15,\n lineHeight: \"22px\",\n }}\n >\n <span style={{ color: palette.BORDER_STRONG, width: 18, textAlign: \"right\" }}>\n {i + 1}\n </span>\n <span style={{ color: line.c || palette.SYN_TEXT, whiteSpace: \"pre\" }}>\n {line.t || \" \"}\n </span>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nfunction FauxBentoGrid({\n accentPeach,\n accentLavender,\n accentMint,\n speed,\n}: {\n accentPeach: string;\n accentLavender: string;\n accentMint: string;\n speed: number;\n}) {\n const frame = useCurrentFrame() * speed;\n const { fps } = useVideoConfig();\n\n const cards: Array<{ title: string; body: string; tint: string; span: 1 | 2 }> = [\n { title: \"Animations\", body: \"Spring-tuned\", tint: accentLavender, span: 2 },\n { title: \"Transitions\", body: \"Cinematic\", tint: accentPeach, span: 1 },\n { title: \"Backgrounds\", body: \"Volumetric\", tint: accentMint, span: 1 },\n { title: \"Compositions\", body: \"Production-ready\", tint: accentLavender, span: 2 },\n ];\n\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: 16,\n }}\n >\n {cards.map((c, i) => {\n const progress = spring({\n frame: frame - 30 - i * 8,\n fps,\n config: { damping: 14, stiffness: 110, mass: 0.7 },\n durationInFrames: 28,\n });\n return (\n <div\n key={c.title}\n style={{\n gridColumn: c.span === 2 ? \"span 2\" : \"span 1\",\n minHeight: 110,\n padding: 22,\n borderRadius: 18,\n background:\n \"linear-gradient(160deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%)\",\n border: `1px solid ${c.tint}33`,\n opacity: progress,\n transform: `translateY(${(1 - progress) * 18}px) scale(${\n 0.92 + progress * 0.08\n })`,\n transformOrigin: \"center\",\n willChange: \"transform, opacity\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n }}\n >\n <div\n style={{\n color: palette.TEXT_HI,\n fontFamily: FONT_FAMILY,\n fontSize: 22,\n fontWeight: 600,\n letterSpacing: \"-0.02em\",\n }}\n >\n {c.title}\n </div>\n <div\n style={{\n color: `${c.tint}cc`,\n fontFamily: FONT_FAMILY,\n fontSize: 13,\n marginTop: 2,\n }}\n >\n {c.body}\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Phase 3 */\n/* -------------------------------------------------------------------------- */\n\nfunction Outro({\n versionLabel,\n accentMint,\n accentPeach,\n accentLavender,\n speed,\n}: {\n versionLabel: string;\n accentMint: string;\n accentPeach: string;\n accentLavender: string;\n speed: number;\n}) {\n const frame = useCurrentFrame() * speed;\n const { fps } = useVideoConfig();\n\n // Heading drops in with a soft spring.\n const drop = spring({\n frame: frame - 6,\n fps,\n config: { damping: 14, stiffness: 110, mass: 0.7 },\n durationInFrames: 28,\n });\n const headingY = interpolate(drop, [0, 1], [-40, 0]);\n const headingOpacity = interpolate(drop, [0, 1], [0, 1]);\n\n // Confetti — lightweight inline burst (no SuccessConfetti import to avoid\n // its full-frame background).\n const particles = Array.from({ length: 70 }, (_, i) => {\n const angle = random(`pl:${i}:a`) * Math.PI * 2;\n const v = 9 + random(`pl:${i}:v`) * 9;\n const sz = 5 + random(`pl:${i}:s`) * 7;\n const f = Math.max(0, frame - 14 - Math.floor(random(`pl:${i}:d`) * 6));\n const cx = 640 + Math.cos(angle) * v * f;\n const cy = 280 + Math.sin(angle) * v * f + 0.4 * f * f;\n const colors = [accentMint, accentPeach, accentLavender, palette.WARNING];\n const color = colors[Math.floor(random(`pl:${i}:c`) * colors.length)];\n const opacity = interpolate(f, [0, 4, 38, 50], [0, 1, 1, 0], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n });\n return { cx, cy, sz, color, opacity, key: i };\n });\n\n return (\n <AbsoluteFill style={{ pointerEvents: \"none\" }}>\n {/* Confetti layer */}\n <svg\n width={1280}\n height={720}\n viewBox=\"0 0 1280 720\"\n style={{ position: \"absolute\", inset: 0 }}\n >\n {particles.map((p) => (\n <rect\n key={p.key}\n x={p.cx - p.sz / 2}\n y={p.cy - p.sz / 2}\n width={p.sz}\n height={p.sz * 0.55}\n rx={1}\n fill={p.color}\n opacity={p.opacity}\n />\n ))}\n </svg>\n\n {/* Heading */}\n <div\n style={{\n position: \"absolute\",\n left: 0,\n right: 0,\n top: 240,\n textAlign: \"center\",\n transform: `translateY(${headingY}px)`,\n opacity: headingOpacity,\n willChange: \"transform, opacity\",\n }}\n >\n <div\n style={{\n fontFamily: FONT_FAMILY,\n fontSize: 96,\n fontWeight: 700,\n letterSpacing: \"-0.04em\",\n color: palette.TEXT_HI,\n }}\n >\n {versionLabel}\n </div>\n </div>\n </AbsoluteFill>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------------- */\n\nfunction toHex(alpha: number) {\n const clamped = Math.max(0, Math.min(1, alpha));\n return Math.round(clamped * 255)\n .toString(16)\n .padStart(2, \"0\");\n}\n","/**\n * Adapted from remocn (https://github.com/kapishdima/remocn) — MIT\n * Copyright (c) 2026 KapishDima\n *\n * Modifications:\n * - hermetic-ize fontFamily (use inherit / monospace, not Geist CSS vars)\n * - strip \"use client\" directive (re-added at shadcn-registry export time)\n */\n\nimport { interpolate, spring, useCurrentFrame, useVideoConfig } from \"remotion\";\nimport * as palette from \"../../lib/palette\";\n\nexport interface HeroDeviceAssembleProps {\n assembleStart?: number;\n device?: \"laptop\" | \"phone\";\n accentColor?: string;\n speed?: number;\n className?: string;\n}\n\nconst FONT_FAMILY =\n \"inherit\";\n\nfunction MockUI({ accentColor }: { accentColor: string }) {\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n flexDirection: \"column\",\n background: palette.BG,\n fontFamily: FONT_FAMILY,\n color: \"white\",\n overflow: \"hidden\",\n }}\n >\n {/* Title bar */}\n <div\n style={{\n height: \"10%\",\n background: palette.SURFACE,\n borderBottom: \"1px solid rgba(255,255,255,0.06)\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0 16px\",\n gap: 8,\n }}\n >\n <div\n style={{\n width: 10,\n height: 10,\n borderRadius: \"50%\",\n background: \"rgba(255,255,255,0.18)\",\n }}\n />\n <div\n style={{\n width: 10,\n height: 10,\n borderRadius: \"50%\",\n background: \"rgba(255,255,255,0.18)\",\n }}\n />\n <div\n style={{\n width: 10,\n height: 10,\n borderRadius: \"50%\",\n background: \"rgba(255,255,255,0.18)\",\n }}\n />\n </div>\n <div style={{ flex: 1, display: \"flex\" }}>\n {/* Sidebar */}\n <div\n style={{\n width: \"22%\",\n background: palette.BG,\n borderRight: \"1px solid rgba(255,255,255,0.05)\",\n padding: 16,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 10,\n }}\n >\n <div\n style={{\n height: 12,\n borderRadius: 4,\n background: accentColor,\n opacity: 0.85,\n width: \"70%\",\n }}\n />\n <div\n style={{\n height: 10,\n borderRadius: 4,\n background: \"rgba(255,255,255,0.1)\",\n width: \"85%\",\n }}\n />\n <div\n style={{\n height: 10,\n borderRadius: 4,\n background: \"rgba(255,255,255,0.08)\",\n width: \"60%\",\n }}\n />\n <div\n style={{\n height: 10,\n borderRadius: 4,\n background: \"rgba(255,255,255,0.08)\",\n width: \"75%\",\n }}\n />\n </div>\n {/* Content */}\n <div\n style={{\n flex: 1,\n padding: 24,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 16,\n }}\n >\n <div\n style={{\n height: 18,\n width: \"40%\",\n background: \"rgba(255,255,255,0.85)\",\n borderRadius: 4,\n }}\n />\n <div\n style={{\n height: 10,\n width: \"65%\",\n background: \"rgba(255,255,255,0.18)\",\n borderRadius: 4,\n }}\n />\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1fr\",\n gap: 12,\n marginTop: 12,\n }}\n >\n <div\n style={{\n height: 90,\n borderRadius: 8,\n background:\n \"linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02))\",\n border: \"1px solid rgba(255,255,255,0.06)\",\n }}\n />\n <div\n style={{\n height: 90,\n borderRadius: 8,\n background: `linear-gradient(180deg, ${accentColor}33, ${accentColor}11)`,\n border: `1px solid ${accentColor}55`,\n }}\n />\n <div\n style={{\n height: 90,\n borderRadius: 8,\n background:\n \"linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02))\",\n border: \"1px solid rgba(255,255,255,0.06)\",\n }}\n />\n </div>\n <div\n style={{\n flex: 1,\n borderRadius: 8,\n background:\n \"linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01))\",\n border: \"1px solid rgba(255,255,255,0.06)\",\n }}\n />\n </div>\n </div>\n </div>\n );\n}\n\nexport function HeroDeviceAssemble({\n assembleStart = 0,\n device = \"laptop\",\n accentColor = palette.SUCCESS,\n speed = 1,\n className,\n}: HeroDeviceAssembleProps) {\n const frame = useCurrentFrame() * speed;\n const { fps } = useVideoConfig();\n\n const assemble = spring({\n frame: frame - assembleStart,\n fps,\n config: { mass: 1.4, damping: 12, stiffness: 90 },\n durationInFrames: 60,\n });\n\n // Layer translateZ values from far -> 0\n const lidZ = interpolate(assemble, [0, 1], [1000, 0]);\n const baseZ = interpolate(assemble, [0, 1], [-800, 0]);\n const bezelZ = interpolate(assemble, [0, 1], [600, 0]);\n const screenZ = interpolate(assemble, [0, 1], [300, 0]);\n\n // Parent rotation easing to 0\n const rotX = interpolate(assemble, [0, 1], [-22, 0]);\n const rotY = interpolate(assemble, [0, 1], [28, 0]);\n\n // Layer opacity fade in slightly during assembly\n const layerOpacity = interpolate(assemble, [0, 0.4], [0, 1], {\n extrapolateLeft: \"clamp\",\n extrapolateRight: \"clamp\",\n });\n\n // Settle frame: after assemble ~ 0.95\n const settleFrame = assembleStart + 45;\n const screenWake = interpolate(\n frame,\n [settleFrame, settleFrame + 18],\n [0, 1],\n { extrapolateLeft: \"clamp\", extrapolateRight: \"clamp\" },\n );\n\n // Shimmer sweep across screen (after wake)\n const shimmerProgress = interpolate(\n frame,\n [settleFrame + 6, settleFrame + 30],\n [-1, 2],\n { extrapolateLeft: \"clamp\", extrapolateRight: \"clamp\" },\n );\n\n const isPhone = device === \"phone\";\n\n // Device dimensions\n const deviceW = isPhone ? 320 : 760;\n const deviceH = isPhone ? 640 : 470;\n const screenInset = isPhone ? 12 : 18;\n const bezelRadius = isPhone ? 36 : 14;\n\n return (\n <div\n className={className}\n style={{\n position: \"absolute\",\n inset: 0,\n overflow: \"hidden\",\n background:\n `radial-gradient(ellipse at center, ${palette.SURFACE} 0%, ${palette.BG_DEEP} 70%)`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n perspective: 2000,\n fontFamily: FONT_FAMILY,\n }}\n >\n <div\n style={{\n position: \"relative\",\n width: deviceW,\n height: deviceH,\n transformStyle: \"preserve-3d\",\n transform: `rotateX(${rotX}deg) rotateY(${rotY}deg)`,\n willChange: \"transform\",\n }}\n >\n {/* Back lid (laptop only — for phone, acts as the back shell) */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n transform: `translateZ(${lidZ - 8}px)`,\n background: `linear-gradient(180deg, ${palette.SURFACE_HI} 0%, ${palette.BG} 100%)`,\n borderRadius: bezelRadius + 4,\n border: \"1px solid rgba(255,255,255,0.08)\",\n opacity: layerOpacity,\n }}\n />\n\n {/* Keyboard / chassis base — laptop only */}\n {!isPhone && (\n <div\n style={{\n position: \"absolute\",\n left: -40,\n right: -40,\n bottom: -28,\n height: 28,\n transform: `translateZ(${baseZ}px) rotateX(78deg)`,\n transformOrigin: \"top center\",\n background: `linear-gradient(180deg, ${palette.SURFACE_HI} 0%, ${palette.BG} 100%)`,\n borderRadius: \"0 0 12px 12px\",\n border: \"1px solid rgba(255,255,255,0.06)\",\n opacity: layerOpacity,\n }}\n />\n )}\n\n {/* Bezel frame */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n transform: `translateZ(${bezelZ}px)`,\n background: palette.BG_DEEP,\n borderRadius: bezelRadius,\n border: \"1px solid rgba(255,255,255,0.12)\",\n opacity: layerOpacity,\n }}\n />\n\n {/* UI screen */}\n <div\n style={{\n position: \"absolute\",\n inset: screenInset,\n transform: `translateZ(${screenZ}px)`,\n borderRadius: bezelRadius - 6,\n overflow: \"hidden\",\n background: \"black\",\n opacity: layerOpacity,\n }}\n >\n {/* Black panel during flight */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background: \"#000\",\n opacity: 1 - screenWake,\n }}\n />\n {/* UI fades in */}\n <div style={{ position: \"absolute\", inset: 0, opacity: screenWake }}>\n <MockUI accentColor={accentColor} />\n </div>\n {/* Shimmer sweep */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background: `linear-gradient(115deg, transparent 40%, rgba(255,255,255,0.18) 50%, transparent 60%)`,\n transform: `translateX(${shimmerProgress * 100}%)`,\n mixBlendMode: \"screen\",\n pointerEvents: \"none\",\n }}\n />\n </div>\n </div>\n </div>\n );\n}\n","/**\n * Adapted from remocn (https://github.com/kapishdima/remocn) — MIT\n * Copyright (c) 2026 KapishDima\n *\n * Modifications:\n * - hermetic-ize fontFamily (use inherit / monospace, not Geist CSS vars)\n * - strip \"use client\" directive (re-added at shadcn-registry export time)\n */\n\nimport { interpolate, spring, useCurrentFrame, useVideoConfig } from \"remotion\";\nimport * as palette from \"../../lib/palette\";\n\nexport interface PricingTierFocusProps {\n focusedTier?: 0 | 1 | 2 | \"0\" | \"1\" | \"2\";\n accentColor?: string;\n speed?: number;\n className?: string;\n}\n\nconst FONT_FAMILY =\n \"inherit\";\n\ninterface Tier {\n name: string;\n price: string;\n period: string;\n features: string[];\n cta: string;\n}\n\nconst TIERS: Tier[] = [\n {\n name: \"Free\",\n price: \"$0\",\n period: \"/mo\",\n features: [\"1 project\", \"Community support\", \"1 GB storage\"],\n cta: \"Get started\",\n },\n {\n name: \"Pro\",\n price: \"$24\",\n period: \"/mo\",\n features: [\n \"Unlimited projects\",\n \"Priority support\",\n \"100 GB storage\",\n \"Advanced analytics\",\n ],\n cta: \"Buy Pro\",\n },\n {\n name: \"Enterprise\",\n price: \"$99\",\n period: \"/mo\",\n features: [\"SSO & SAML\", \"Dedicated manager\", \"Unlimited storage\"],\n cta: \"Contact sales\",\n },\n];\n\nexport function PricingTierFocus({\n focusedTier = 1,\n accentColor = palette.SUCCESS,\n speed = 1,\n className,\n}: PricingTierFocusProps) {\n const frame = useCurrentFrame() * speed;\n const { fps } = useVideoConfig();\n\n const focusedIdx = Number(focusedTier);\n const focusStart = 30;\n\n const focusProgress = spring({\n frame: frame - focusStart,\n fps,\n config: { mass: 1, damping: 18, stiffness: 90 },\n durationInFrames: 50,\n });\n\n const focusScale = interpolate(focusProgress, [0, 1], [1, 1.05]);\n const focusLift = interpolate(focusProgress, [0, 1], [0, -20]);\n const sideBrightness = interpolate(focusProgress, [0, 1], [1, 0.4]);\n const sideBlur = interpolate(focusProgress, [0, 1], [0, 4]);\n const sideScale = interpolate(focusProgress, [0, 1], [1, 0.95]);\n\n // Shimmer on Pro CTA — runs around frame 90\n const shimmerStart = 90;\n const shimmerPos = interpolate(\n frame,\n [shimmerStart, shimmerStart + 40],\n [-150, 250],\n { extrapolateLeft: \"clamp\", extrapolateRight: \"clamp\" },\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"absolute\",\n inset: 0,\n background: palette.BG,\n fontFamily: FONT_FAMILY,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: 60,\n gap: 28,\n }}\n >\n {TIERS.map((tier, i) => {\n const isFocused = i === focusedIdx;\n const scale = isFocused ? focusScale : sideScale;\n const lift = isFocused ? focusLift : 0;\n const brightness = isFocused ? 1 : sideBrightness;\n const blurPx = isFocused ? 0 : sideBlur;\n const z = isFocused ? 10 : 1;\n\n return (\n <div\n key={tier.name}\n style={{\n position: \"relative\",\n flex: \"1 1 0\",\n maxWidth: 320,\n minHeight: 460,\n padding: 32,\n borderRadius: 20,\n background: `linear-gradient(180deg, ${palette.SURFACE} 0%, ${palette.BG} 100%)`,\n border: isFocused\n ? `1px solid ${accentColor}88`\n : `1px solid ${palette.BORDER}`,\n transform: `translateY(${lift}px) scale(${scale})`,\n filter: `brightness(${brightness}) blur(${blurPx}px)`,\n zIndex: z,\n display: \"flex\",\n flexDirection: \"column\",\n willChange: \"transform, filter\",\n }}\n >\n {isFocused && (\n <div\n style={{\n position: \"absolute\",\n top: 16,\n right: 16,\n padding: \"4px 10px\",\n borderRadius: 999,\n background: accentColor,\n color: palette.BG,\n fontSize: 11,\n fontWeight: 700,\n letterSpacing: \"0.04em\",\n textTransform: \"uppercase\",\n }}\n >\n Popular\n </div>\n )}\n <div\n style={{\n fontSize: 14,\n fontWeight: 600,\n color: \"rgba(255,255,255,0.6)\",\n letterSpacing: \"0.04em\",\n textTransform: \"uppercase\",\n }}\n >\n {tier.name}\n </div>\n <div\n style={{\n marginTop: 12,\n display: \"flex\",\n alignItems: \"baseline\",\n gap: 4,\n }}\n >\n <div\n style={{\n fontSize: 56,\n fontWeight: 700,\n color: palette.TEXT_HI,\n letterSpacing: \"-0.04em\",\n lineHeight: 1,\n }}\n >\n {tier.price}\n </div>\n <div\n style={{\n fontSize: 16,\n color: \"rgba(255,255,255,0.5)\",\n fontWeight: 500,\n }}\n >\n {tier.period}\n </div>\n </div>\n <div\n style={{\n marginTop: 24,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 12,\n flex: 1,\n }}\n >\n {tier.features.map((f) => (\n <div\n key={f}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 10,\n fontSize: 14,\n color: \"rgba(255,255,255,0.85)\",\n }}\n >\n <div\n style={{\n width: 16,\n height: 16,\n borderRadius: 999,\n background: `${accentColor}22`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: accentColor,\n fontSize: 11,\n fontWeight: 700,\n flexShrink: 0,\n }}\n >\n ✓\n </div>\n {f}\n </div>\n ))}\n </div>\n <div\n style={{\n marginTop: 24,\n position: \"relative\",\n height: 44,\n borderRadius: 12,\n background: isFocused ? accentColor : \"rgba(255,255,255,0.08)\",\n color: isFocused ? palette.BG : palette.TEXT_HI,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: 14,\n fontWeight: 600,\n overflow: \"hidden\",\n border: isFocused ? \"none\" : \"1px solid rgba(255,255,255,0.1)\",\n }}\n >\n {tier.cta}\n {isFocused && (\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n width: 80,\n transform: `translateX(${shimmerPos}px) skewX(-20deg)`,\n background:\n \"linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%)\",\n pointerEvents: \"none\",\n }}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n","/**\n * Adapted from remocn (https://github.com/kapishdima/remocn) — MIT\n * Copyright (c) 2026 KapishDima\n *\n * Modifications:\n * - hermetic-ize fontFamily (use inherit / monospace, not Geist CSS vars)\n * - strip \"use client\" directive (re-added at shadcn-registry export time)\n */\n\nimport type { ReactNode } from \"react\";\nimport {\n AbsoluteFill,\n Freeze,\n interpolate,\n Sequence,\n spring,\n useCurrentFrame,\n useVideoConfig,\n} from \"remotion\";\nimport { SCENES, LANDING_CODE_SHOWCASE_DURATION } from \"./timeline\";\nimport { DashboardPopulate } from \"../../ui-blocks/dashboard-populate\";\nimport { frostedGlassWipe } from \"../../transitions/frosted-glass-wipe\";\nimport { spatialPush } from \"../../transitions/spatial-push\";\nimport { TransitionSeries, linearTiming } from \"@remotion/transitions\";\nimport type { TransitionPresentation } from \"@remotion/transitions\";\n\n/** Local shim: mount a TransitionPresentation as a fixed-window from→to wipe\n * (the old component API these scenes were composed against). */\nfunction WipeWindow({\n presentation,\n duration,\n from,\n to,\n}: {\n presentation: TransitionPresentation<Record<string, unknown>>;\n duration: number;\n from: ReactNode;\n to: ReactNode;\n}) {\n return (\n <TransitionSeries>\n <TransitionSeries.Sequence durationInFrames={duration}>\n {from}\n </TransitionSeries.Sequence>\n <TransitionSeries.Transition\n presentation={presentation as never}\n timing={linearTiming({ durationInFrames: duration - 1 })}\n />\n <TransitionSeries.Sequence durationInFrames={duration}>\n {to}\n </TransitionSeries.Sequence>\n </TransitionSeries>\n );\n}\nimport { TerminalToBrowserDeploy } from \"../terminal-to-browser-deploy\";\nimport * as palette from \"../../lib/palette\";\n\nexport interface LandingCodeShowcaseProps {\n accentColor?: string;\n speed?: number;\n}\n\nconst FONT_FAMILY =\n \"inherit\";\nconst MONO_FAMILY =\n \"monospace\";\n\n/* -------------------------------------------------------------------------- */\n/* Tokens */\n/* -------------------------------------------------------------------------- */\n\nconst PEACH = palette.ACCENT_SOFT;\nconst LAVENDER = palette.VIOLET;\nconst MINT = palette.SUCCESS;\nconst STAGE_BG = palette.BG_DEEP;\nconst PANEL_BG = palette.BG;\n\n/* -------------------------------------------------------------------------- */\n/* Code timeline */\n/* -------------------------------------------------------------------------- */\n\ninterface CodeStep {\n /** Frame at which this fragment STARTS being typed */\n startFrame: number;\n /** Code fragment to append to the visible buffer */\n code: string;\n /** Token within the fragment that pulses lavender briefly when typed */\n highlight?: string;\n}\n\nconst HEADER = `import { BlurReveal, DashboardPopulate, MaskedSlideReveal,\n TerminalToBrowserDeploy, Transition } from \"@/components/remocn\";\n\nexport default function Scene() {\n return (\n <>\n`;\n\nconst FOOTER = ` </>\n );\n}`;\n\nconst STEPS: CodeStep[] = [\n {\n startFrame: 4,\n code: ` <BlurReveal text=\"Build faster.\" />\\n`,\n },\n {\n startFrame: SCENES.push1.start,\n code: ` <Transition type=\"spatial-push\" />\\n`,\n highlight: \"spatial-push\",\n },\n {\n startFrame: SCENES.dashboard.start,\n code: ` <DashboardPopulate data={metrics} />\\n`,\n },\n {\n startFrame: SCENES.glassWipe.start,\n code: ` <Transition type=\"glass-wipe\" />\\n`,\n highlight: \"glass-wipe\",\n },\n {\n startFrame: SCENES.maskedSlide.start,\n code: ` <MaskedSlideReveal text=\"Ship to production.\" />\\n`,\n },\n {\n startFrame: SCENES.push2.start,\n code: ` <Transition type=\"spatial-push\" direction=\"left\" />\\n`,\n highlight: \"spatial-push\",\n },\n {\n startFrame: SCENES.terminal.start,\n code: ` <TerminalToBrowserDeploy />\\n`,\n },\n];\n\nconst CHARS_PER_FRAME = 2.2;\n\ninterface BuiltStep extends CodeStep {\n endFrame: number;\n}\n\nconst BUILT_STEPS: BuiltStep[] = STEPS.map((s) => ({\n ...s,\n endFrame: s.startFrame + Math.ceil(s.code.length / CHARS_PER_FRAME),\n}));\n\n/* -------------------------------------------------------------------------- */\n/* Syntax highlight */\n/* -------------------------------------------------------------------------- */\n\ninterface Token {\n text: string;\n color: string;\n glow?: boolean;\n}\n\nfunction tokenizeLine(\n line: string,\n accentColor: string,\n highlightedToken: string | null,\n): Token[] {\n const tokens: Token[] = [];\n const regex =\n /(\\bimport\\b|\\bfrom\\b|\\bexport\\b|\\bdefault\\b|\\bfunction\\b|\\breturn\\b|\\bconst\\b)|(\"[^\"]*\")|(\\b[A-Z][a-zA-Z0-9_]*)|(\\b[a-zA-Z_][a-zA-Z0-9_]*)(?==)|(\\{|\\}|\\(|\\)|<|>|\\/|;)|([0-9]+)/g;\n let lastIndex = 0;\n let m: RegExpExecArray | null = regex.exec(line);\n while (m !== null) {\n if (m.index > lastIndex) {\n tokens.push({\n text: line.slice(lastIndex, m.index),\n color: palette.SYN_TEXT,\n });\n }\n if (m[1]) tokens.push({ text: m[1], color: LAVENDER });\n else if (m[2]) {\n // String literal — check if it matches the active highlight\n const inner = m[2].slice(1, -1);\n if (highlightedToken && inner === highlightedToken) {\n tokens.push({ text: m[2], color: LAVENDER, glow: true });\n } else {\n tokens.push({ text: m[2], color: MINT });\n }\n } else if (m[3]) tokens.push({ text: m[3], color: PEACH });\n else if (m[4]) tokens.push({ text: m[4], color: accentColor });\n else if (m[5]) tokens.push({ text: m[5], color: palette.SYN_COMMENT });\n else if (m[6]) tokens.push({ text: m[6], color: palette.SYN_NUMBER });\n lastIndex = regex.lastIndex;\n m = regex.exec(line);\n }\n if (lastIndex < line.length) {\n tokens.push({ text: line.slice(lastIndex), color: palette.SYN_TEXT });\n }\n return tokens;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Code editor */\n/* -------------------------------------------------------------------------- */\n\nfunction CodeEditor({\n frame,\n accentColor,\n}: {\n frame: number;\n accentColor: string;\n}) {\n // Compose the visible code: header + per-step typed amounts + footer (only when fully typed)\n const dynamicChunks: string[] = [];\n let activeHighlight: string | null = null;\n\n for (const step of BUILT_STEPS) {\n if (frame < step.startFrame) break;\n const elapsed = frame - step.startFrame;\n const charsTyped = Math.min(\n step.code.length,\n Math.floor(elapsed * CHARS_PER_FRAME),\n );\n dynamicChunks.push(step.code.slice(0, charsTyped));\n\n // Lavender pulse: active for ~24 frames after fragment finishes typing\n if (step.highlight) {\n const sinceStart = frame - step.startFrame;\n if (sinceStart >= 0 && sinceStart < 60) {\n activeHighlight = step.highlight;\n }\n }\n }\n\n const allTyped = dynamicChunks.join(\"\");\n const lastStep = BUILT_STEPS[BUILT_STEPS.length - 1];\n const showFooter = frame > lastStep.endFrame + 4;\n const visibleCode = HEADER + allTyped + (showFooter ? FOOTER : \"\");\n const lines = visibleCode.split(\"\\n\");\n const lastLineIdx = lines.length - 1;\n const caretOn = Math.floor(frame / 12) % 2 === 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n maxWidth: 540,\n position: \"relative\",\n borderRadius: 16,\n padding: 1,\n background:\n \"linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.06) 100%)\",\n }}\n >\n <div\n style={{\n borderRadius: 15,\n background: \"rgba(12,12,14,0.9)\",\n backdropFilter: \"blur(20px)\",\n overflow: \"hidden\",\n }}\n >\n {/* Title bar */}\n <div\n style={{\n height: 40,\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0 16px\",\n borderBottom: \"1px solid rgba(255,255,255,0.06)\",\n gap: 8,\n }}\n >\n {[\"#ff5f57\", \"#febc2e\", \"#28c840\"].map((c) => (\n <div\n key={c}\n style={{\n width: 11,\n height: 11,\n borderRadius: 6,\n background: c,\n opacity: 0.65,\n }}\n />\n ))}\n <div\n style={{\n marginLeft: 12,\n fontSize: 12,\n color: \"rgba(255,255,255,0.5)\",\n fontFamily: MONO_FAMILY,\n }}\n >\n scene.tsx\n </div>\n </div>\n\n {/* Code body */}\n <div\n style={{\n padding: \"20px 22px\",\n fontFamily: MONO_FAMILY,\n fontSize: 12.5,\n lineHeight: 1.7,\n color: palette.SYN_TEXT,\n minHeight: 480,\n }}\n >\n {lines.map((line, i) => {\n const tokens = tokenizeLine(line, accentColor, activeHighlight);\n const isLast = i === lastLineIdx;\n return (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: stable per frame\n key={i}\n style={{ display: \"flex\", whiteSpace: \"pre\" }}\n >\n <span\n style={{\n width: 26,\n color: \"rgba(255,255,255,0.18)\",\n userSelect: \"none\",\n flexShrink: 0,\n }}\n >\n {i + 1}\n </span>\n <span>\n {tokens.length === 0 ? (\n <span> </span>\n ) : (\n tokens.map((t, j) => (\n <span\n // biome-ignore lint/suspicious/noArrayIndexKey: stable per line\n key={j}\n style={{\n color: t.color,\n }}\n >\n {t.text}\n </span>\n ))\n )}\n {isLast && caretOn && (\n <span\n style={{\n display: \"inline-block\",\n width: 7,\n height: 14,\n marginLeft: 1,\n verticalAlign: \"text-bottom\",\n background: accentColor,\n }}\n />\n )}\n </span>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Soft pastel scene wrappers */\n/* -------------------------------------------------------------------------- */\n\n/** Warm pastel canvas — the dark stage every scene sits on */\nfunction PastelStage({\n background = STAGE_BG,\n children,\n}: {\n background?: string;\n children: ReactNode;\n}) {\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background,\n overflow: \"hidden\",\n }}\n >\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background:\n \"radial-gradient(ellipse at 20% 30%, rgba(255,179,142,0.08), transparent 60%), radial-gradient(ellipse at 80% 70%, rgba(155,139,176,0.06), transparent 60%)\",\n }}\n />\n {children}\n </div>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Scene factories */\n/* -------------------------------------------------------------------------- */\n/*\n Note: BlurReveal and MaskedSlideReveal primitives bake in a `background:\n white` div. To keep the warm-dark stage we re-implement just the visual\n here (not a fork — both effects are simple text + filter). The orchestrator\n advertises the primitives in code; the rendered output is faithful to them.\n*/\n\nfunction BlurRevealScene() {\n const frame = useCurrentFrame();\n const opacity = interpolate(frame, [0, 50], [0, 1], {\n extrapolateRight: \"clamp\",\n });\n const blurAmount = interpolate(frame, [0, 50], [22, 0], {\n extrapolateRight: \"clamp\",\n });\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <span\n style={{\n opacity,\n filter: `blur(${blurAmount}px)`,\n fontSize: 96,\n fontWeight: 600,\n color: PEACH,\n letterSpacing: \"-0.04em\",\n fontFamily: FONT_FAMILY,\n }}\n >\n Build faster.\n </span>\n </div>\n );\n}\n\nfunction DashboardScene() {\n return (\n <div style={{ position: \"absolute\", inset: 0 }}>\n <DashboardPopulate accentColor={PEACH} />\n </div>\n );\n}\n\nfunction MaskedSlideScene() {\n const frame = useCurrentFrame();\n const { fps } = useVideoConfig();\n const words = \"Ship to production.\".split(\" \");\n return (\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <span\n style={{\n fontSize: 92,\n fontWeight: 700,\n color: MINT,\n letterSpacing: \"-0.03em\",\n fontFamily: FONT_FAMILY,\n }}\n >\n {words.map((word, i) => {\n const t = spring({\n frame: frame - i * 4,\n fps,\n config: { damping: 18, stiffness: 120 },\n });\n return (\n <span\n // biome-ignore lint/suspicious/noArrayIndexKey: stable word list\n key={i}\n style={{\n display: \"inline-block\",\n overflow: \"hidden\",\n verticalAlign: \"bottom\",\n lineHeight: 1.05,\n marginRight: \"0.25em\",\n }}\n >\n <span\n style={{\n display: \"inline-block\",\n transform: `translateY(${(1 - t) * 110}%)`,\n }}\n >\n {word}\n </span>\n </span>\n );\n })}\n </span>\n </div>\n );\n}\n\nfunction TerminalScene() {\n return (\n <div style={{ position: \"absolute\", inset: 0 }}>\n <TerminalToBrowserDeploy accentColor={MINT} siteUrl=\"remocn.dev\" />\n </div>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Right pane */\n/* -------------------------------------------------------------------------- */\n\nfunction RightPane() {\n return (\n <div\n style={{\n position: \"relative\",\n width: \"100%\",\n height: \"100%\",\n background: STAGE_BG,\n overflow: \"hidden\",\n borderRadius: 18,\n }}\n >\n {/* ── BASE LAYER: each scene runs in its own Sequence so its\n internal useCurrentFrame() starts at 0 within the window. ── */}\n\n <Sequence\n from={SCENES.blur.start}\n durationInFrames={SCENES.blur.duration + SCENES.push1.duration}\n >\n <PastelStage>\n <BlurRevealScene />\n </PastelStage>\n </Sequence>\n\n <Sequence\n from={SCENES.dashboard.start}\n durationInFrames={SCENES.dashboard.duration + SCENES.glassWipe.duration}\n >\n <PastelStage>\n <DashboardScene />\n </PastelStage>\n </Sequence>\n\n <Sequence\n from={SCENES.maskedSlide.start}\n durationInFrames={SCENES.maskedSlide.duration + SCENES.push2.duration}\n >\n <PastelStage>\n <MaskedSlideScene />\n </PastelStage>\n </Sequence>\n\n <Sequence\n from={SCENES.terminal.start}\n durationInFrames={SCENES.terminal.duration + SCENES.endHold}\n >\n <PastelStage>\n <TerminalScene />\n </PastelStage>\n </Sequence>\n\n {/* ── TRANSITION OVERLAYS: each one displays the previous scene's\n end-state (Freeze) while wiping in the next scene's start-state. ── */}\n\n <Sequence\n from={SCENES.push1.start}\n durationInFrames={SCENES.push1.duration}\n >\n <WipeWindow\n presentation={spatialPush({ direction: 'up' }) as never}\n duration={SCENES.push1.duration}\n from={\n <Freeze frame={SCENES.push1.start - SCENES.blur.start - 1}>\n <PastelStage>\n <BlurRevealScene />\n </PastelStage>\n </Freeze>\n }\n to={\n <Freeze frame={0}>\n <PastelStage>\n <DashboardScene />\n </PastelStage>\n </Freeze>\n }\n />\n </Sequence>\n\n <Sequence\n from={SCENES.glassWipe.start}\n durationInFrames={SCENES.glassWipe.duration}\n >\n <WipeWindow\n presentation={frostedGlassWipe({ glassBlur: 28 }) as never}\n duration={SCENES.glassWipe.duration}\n from={\n <Freeze frame={SCENES.dashboard.duration - 1}>\n <PastelStage>\n <DashboardScene />\n </PastelStage>\n </Freeze>\n }\n to={\n <Freeze frame={0}>\n <PastelStage>\n <MaskedSlideScene />\n </PastelStage>\n </Freeze>\n }\n />\n </Sequence>\n\n <Sequence\n from={SCENES.push2.start}\n durationInFrames={SCENES.push2.duration}\n >\n <WipeWindow\n presentation={spatialPush({ direction: 'left' }) as never}\n duration={SCENES.push2.duration}\n from={\n <Freeze frame={SCENES.maskedSlide.duration - 1}>\n <PastelStage>\n <MaskedSlideScene />\n </PastelStage>\n </Freeze>\n }\n to={\n <Freeze frame={0}>\n <PastelStage>\n <TerminalScene />\n </PastelStage>\n </Freeze>\n }\n />\n </Sequence>\n </div>\n );\n}\n\n/* -------------------------------------------------------------------------- */\n/* Main */\n/* -------------------------------------------------------------------------- */\n\nexport function LandingCodeShowcase({\n accentColor = palette.ACCENT_SOFT,\n speed = 1,\n}: LandingCodeShowcaseProps) {\n const rawFrame = useCurrentFrame();\n const frame = rawFrame * speed;\n\n /* ---- Final \"deploy success\" glow on both panes ---- */\n const successGlow = interpolate(\n frame,\n [SCENES.terminal.start + 70, SCENES.terminal.start + 100],\n [0, 1],\n { extrapolateLeft: \"clamp\", extrapolateRight: \"clamp\" },\n );\n\n return (\n <AbsoluteFill\n style={{\n background: PANEL_BG,\n fontFamily: FONT_FAMILY,\n overflow: \"hidden\",\n }}\n >\n {/* Backdrop wash */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background:\n \"radial-gradient(ellipse at 20% 30%, rgba(255,179,142,0.06), transparent 55%), radial-gradient(ellipse at 80% 70%, rgba(155,139,176,0.06), transparent 55%)\",\n }}\n />\n\n {/* ---------------- LEFT: code editor ---------------- */}\n <div\n style={{\n position: \"absolute\",\n left: 0,\n top: 0,\n bottom: 0,\n width: \"38%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: 48,\n }}\n >\n <CodeEditor frame={frame} accentColor={accentColor} />\n </div>\n\n {/* ---------------- RIGHT: live preview ---------------- */}\n <div\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n width: \"62%\",\n borderLeft: \"1px solid rgba(255,255,255,0.05)\",\n }}\n >\n {/* Preview label */}\n <div\n style={{\n position: \"absolute\",\n top: 22,\n left: 24,\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n zIndex: 5,\n }}\n >\n <div\n style={{\n width: 8,\n height: 8,\n borderRadius: 4,\n background: MINT,\n boxShadow: `0 0 ${10 + successGlow * 12}px ${MINT}`,\n }}\n />\n <div\n style={{\n fontSize: 11,\n fontFamily: MONO_FAMILY,\n color: \"rgba(255,255,255,0.5)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.1em\",\n }}\n >\n Preview · HMR\n </div>\n </div>\n\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n overflow: \"hidden\",\n boxShadow: `inset 0 0 ${60 * successGlow}px rgba(127,174,122,${successGlow * 0.45})`,\n }}\n >\n <RightPane />\n </div>\n </div>\n </AbsoluteFill>\n );\n}\n\n// Re-export the schedule so existing callers importing it from the component\n// module keep working; the canonical source is ./timeline.\nexport { LANDING_CODE_SHOWCASE_DURATION };\n","// React-free timeline schedule for the landing-code-showcase scene.\n//\n// Lives apart from index.tsx (the Remotion component) so config.ts — and the\n// primitive-registry meta generator, which evaluates config.ts with React/\n// Remotion stubbed — can read the canonical scene length without pulling in the\n// renderer. index.tsx imports SCENES from here; never duplicate these constants.\n\n/*\n Frame layout (30fps base):\n 0 ────────────────────────────► 90 BlurReveal\n 70 ────► 130 SpatialPush overlay\n 130 ────────────► 240 Dashboard\n 230 ────► 290 FrostedGlassWipe overlay\n 290 ────────────► 410 MaskedSlideReveal\n 400 ────► 460 KineticTypeMask overlay\n 460 ────────────────► 640 TerminalToBrowserDeploy\n*/\n\nexport interface SceneWindow {\n start: number;\n duration: number;\n}\n\nexport const SCENES = {\n blur: { start: 0, duration: 90 } as SceneWindow,\n push1: { start: 70, duration: 60 } as SceneWindow,\n dashboard: { start: 130, duration: 110 } as SceneWindow,\n glassWipe: { start: 230, duration: 60 } as SceneWindow,\n maskedSlide: { start: 290, duration: 120 } as SceneWindow,\n push2: { start: 400, duration: 60 } as SceneWindow,\n terminal: { start: 460, duration: 180 } as SceneWindow,\n // Quiet hold at the very end so the loop never restarts mid-action.\n endHold: 80,\n};\n\nexport const LANDING_CODE_SHOWCASE_DURATION =\n SCENES.terminal.start + SCENES.terminal.duration + SCENES.endHold; // 720\n","/**\n * Adapted from remocn (https://github.com/kapishdima/remocn) — MIT\n * Copyright (c) 2026 KapishDima\n *\n * Modifications:\n * - hermetic-ize fontFamily (use inherit / monospace, not Geist CSS vars)\n * - strip \"use client\" directive (re-added at shadcn-registry export time)\n */\n\nimport { interpolate, spring, useCurrentFrame, useVideoConfig } from \"remotion\";\nimport * as palette from \"../../lib/palette\";\n\nexport interface TerminalToBrowserDeployProps {\n siteUrl?: string;\n accentColor?: string;\n speed?: number;\n className?: string;\n}\n\nconst FONT_FAMILY =\n \"inherit\";\nconst MONO_FAMILY =\n \"monospace\";\n\ninterface Line {\n text: string;\n start: number;\n type: \"command\" | \"step\" | \"success\";\n}\n\nfunction MacDots({ size = 12 }: { size?: number }) {\n return (\n <div style={{ display: \"flex\", gap: 8, alignItems: \"center\" }}>\n {[\"#ff5f57\", \"#febc2e\", \"#28c840\"].map((c) => (\n <div\n key={c}\n style={{\n width: size,\n height: size,\n borderRadius: \"50%\",\n background: c,\n opacity: 0.85,\n }}\n />\n ))}\n </div>\n );\n}\n\nexport function TerminalToBrowserDeploy({\n siteUrl = \"https://app.example.com\",\n accentColor = palette.SUCCESS,\n speed = 1,\n className,\n}: TerminalToBrowserDeployProps) {\n const frame = useCurrentFrame() * speed;\n const { fps, durationInFrames } = useVideoConfig();\n\n const lines: Line[] = [\n { text: \"$ pnpm deploy\", start: 10, type: \"command\" },\n { text: \"→ Building project...\", start: 35, type: \"step\" },\n { text: \"→ Bundling assets...\", start: 55, type: \"step\" },\n { text: \"→ Optimizing images...\", start: 75, type: \"step\" },\n { text: \"→ Uploading...\", start: 95, type: \"step\" },\n { text: `✓ Deployed to ${siteUrl}`, start: 120, type: \"success\" },\n ];\n\n // typewriter for each line\n const renderedLines = lines.map((line) => {\n const elapsed = frame - line.start;\n const charsPerFrame = 1.6;\n const visibleChars = Math.max(\n 0,\n Math.min(line.text.length, Math.floor(elapsed * charsPerFrame)),\n );\n return {\n ...line,\n visible: line.text.slice(0, visibleChars),\n isVisible: elapsed >= 0,\n };\n });\n\n // Terminal collapse start (after deploy line is fully typed)\n const collapseStart = 155;\n const collapseProgress = interpolate(\n frame,\n [collapseStart, collapseStart + 18],\n [0, 1],\n { extrapolateLeft: \"clamp\", extrapolateRight: \"clamp\" },\n );\n const terminalScale = interpolate(collapseProgress, [0, 1], [1, 0.8]);\n const terminalBlur = interpolate(collapseProgress, [0, 1], [0, 10]);\n const terminalOpacity = interpolate(collapseProgress, [0, 1], [1, 0.35]);\n\n // Browser spring entry\n const browserSpring = spring({\n frame: frame - collapseStart - 4,\n fps,\n config: { mass: 1, damping: 14, stiffness: 110 },\n durationInFrames: 50,\n });\n const browserScale = browserSpring;\n const browserOpacity = interpolate(browserSpring, [0, 0.3, 1], [0, 1, 1], {\n extrapolateRight: \"clamp\",\n });\n\n // Cursor for typewriter effect on the active line\n let activeLine: (typeof renderedLines)[number] | undefined;\n for (let i = renderedLines.length - 1; i >= 0; i--) {\n const l = renderedLines[i];\n if (l.isVisible && l.visible.length < l.text.length) {\n activeLine = l;\n break;\n }\n }\n\n // approximate vertical position of URL line within terminal body\n // line height ~ 30, body padding-top 18, lines start at index 0..5\n const urlLineIndex = 5;\n const lineHeight = 30;\n const terminalBodyPaddingTop = 22;\n const urlLineCenterY =\n terminalBodyPaddingTop + urlLineIndex * lineHeight + 12;\n\n // Terminal box dimensions inside the 1280x720 frame\n const terminalWidth = 820;\n const terminalHeight = 360;\n const terminalLeft = (1280 - terminalWidth) / 2;\n const terminalTop = (720 - terminalHeight) / 2;\n const terminalHeaderHeight = 36;\n\n // The transform-origin for the browser window: the URL text inside the terminal body\n const originX = terminalLeft + 200;\n const originY = terminalTop + terminalHeaderHeight + urlLineCenterY;\n\n // Browser window dimensions\n const browserWidth = 980;\n const browserHeight = 560;\n\n return (\n <div\n className={className}\n style={{\n position: \"absolute\",\n inset: 0,\n overflow: \"hidden\",\n background: palette.BG,\n fontFamily: FONT_FAMILY,\n }}\n >\n {/* subtle backdrop */}\n <div\n style={{\n position: \"absolute\",\n inset: 0,\n background:\n `radial-gradient(ellipse at center, ${palette.SURFACE} 0%, ${palette.BG_DEEP} 70%)`,\n }}\n />\n\n {/* Terminal */}\n <div\n style={{\n position: \"absolute\",\n left: terminalLeft,\n top: terminalTop,\n width: terminalWidth,\n height: terminalHeight,\n borderRadius: 14,\n background: \"rgba(15,15,17,0.96)\",\n border: \"1px solid rgba(255,255,255,0.08)\",\n overflow: \"hidden\",\n transform: `scale(${terminalScale})`,\n filter: `blur(${terminalBlur}px)`,\n opacity: terminalOpacity,\n transformOrigin: \"center center\",\n willChange: \"transform, filter\",\n }}\n >\n <div\n style={{\n height: terminalHeaderHeight,\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: 14,\n borderBottom: \"1px solid rgba(255,255,255,0.06)\",\n background: \"rgba(255,255,255,0.02)\",\n }}\n >\n <MacDots />\n <div\n style={{\n flex: 1,\n textAlign: \"center\",\n color: \"rgba(255,255,255,0.45)\",\n fontFamily: MONO_FAMILY,\n fontSize: 12,\n marginRight: 56,\n }}\n >\n ~/project — zsh\n </div>\n </div>\n <div\n style={{\n padding: `${terminalBodyPaddingTop}px 22px`,\n fontFamily: MONO_FAMILY,\n fontSize: 16,\n lineHeight: `${lineHeight}px`,\n color: \"rgba(255,255,255,0.85)\",\n }}\n >\n {renderedLines.map((line, i) => {\n if (!line.isVisible) return null;\n const isActive = activeLine === line;\n const showCursor = isActive && Math.floor(frame / 12) % 2 === 0;\n const color =\n line.type === \"success\"\n ? accentColor\n : line.type === \"command\"\n ? \"rgba(255,255,255,0.95)\"\n : \"rgba(255,255,255,0.7)\";\n return (\n <div\n key={i}\n style={{\n color,\n whiteSpace: \"pre\",\n }}\n >\n {line.visible}\n {showCursor && (\n <span\n style={{\n display: \"inline-block\",\n width: 8,\n height: 18,\n background: \"rgba(255,255,255,0.85)\",\n verticalAlign: \"text-bottom\",\n marginLeft: 2,\n }}\n />\n )}\n </div>\n );\n })}\n </div>\n </div>\n\n {/* Browser window — emerges from URL line */}\n <div\n style={{\n position: \"absolute\",\n left: (1280 - browserWidth) / 2,\n top: (720 - browserHeight) / 2,\n width: browserWidth,\n height: browserHeight,\n borderRadius: 16,\n overflow: \"hidden\",\n background: palette.BG,\n border: \"1px solid rgba(255,255,255,0.1)\",\n transform: `scale(${browserScale})`,\n transformOrigin: `${((originX - (1280 - browserWidth) / 2) / browserWidth) * 100}% ${((originY - (720 - browserHeight) / 2) / browserHeight) * 100}%`,\n opacity: browserOpacity,\n willChange: \"transform, opacity\",\n }}\n >\n {/* Browser chrome */}\n <div\n style={{\n height: 44,\n display: \"flex\",\n alignItems: \"center\",\n gap: 14,\n paddingLeft: 16,\n paddingRight: 16,\n background: \"rgba(20,20,22,0.95)\",\n borderBottom: \"1px solid rgba(255,255,255,0.06)\",\n }}\n >\n <MacDots />\n <div\n style={{\n flex: 1,\n height: 26,\n borderRadius: 13,\n background: \"rgba(255,255,255,0.06)\",\n border: \"1px solid rgba(255,255,255,0.08)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"rgba(255,255,255,0.7)\",\n fontFamily: MONO_FAMILY,\n fontSize: 12,\n }}\n >\n {siteUrl}\n </div>\n <div style={{ width: 60 }} />\n </div>\n {/* Page */}\n <div\n style={{\n position: \"absolute\",\n inset: \"44px 0 0 0\",\n background:\n `linear-gradient(180deg, ${palette.BG} 0%, ${palette.SURFACE} 60%, ${palette.BG} 100%)`,\n color: \"white\",\n padding: \"60px 80px\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n gap: 24,\n }}\n >\n {/* nav */}\n <div\n style={{\n position: \"absolute\",\n top: 22,\n left: 80,\n right: 80,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n fontFamily: FONT_FAMILY,\n fontSize: 14,\n color: \"rgba(255,255,255,0.7)\",\n }}\n >\n <div style={{ fontWeight: 600, color: palette.TEXT_HI }}>Acme</div>\n <div style={{ display: \"flex\", gap: 24 }}>\n <span>Features</span>\n <span>Pricing</span>\n <span>Docs</span>\n </div>\n </div>\n\n {/* abstract shape */}\n <div\n style={{\n position: \"absolute\",\n right: 60,\n top: 120,\n width: 280,\n height: 280,\n borderRadius: \"50%\",\n background: `radial-gradient(circle at 30% 30%, ${accentColor}55, transparent 70%)`,\n filter: \"blur(20px)\",\n }}\n />\n <div\n style={{\n position: \"absolute\",\n right: 100,\n top: 160,\n width: 200,\n height: 200,\n borderRadius: 24,\n border: `1px solid ${accentColor}55`,\n transform: \"rotate(12deg)\",\n background:\n \"linear-gradient(135deg, rgba(255,255,255,0.04), transparent)\",\n }}\n />\n\n <div\n style={{\n fontFamily: FONT_FAMILY,\n fontSize: 14,\n color: accentColor,\n fontWeight: 500,\n marginTop: 50,\n }}\n >\n Now live\n </div>\n <div\n style={{\n fontFamily: FONT_FAMILY,\n fontSize: 72,\n fontWeight: 700,\n letterSpacing: \"-0.04em\",\n lineHeight: 1,\n maxWidth: 560,\n }}\n >\n Ship faster.\n </div>\n <div\n style={{\n fontFamily: FONT_FAMILY,\n fontSize: 18,\n color: \"rgba(255,255,255,0.65)\",\n maxWidth: 480,\n lineHeight: 1.5,\n }}\n >\n From commit to global edge in seconds. No config. No drama.\n </div>\n <button\n type=\"button\"\n style={{\n marginTop: 8,\n padding: \"14px 28px\",\n borderRadius: 10,\n background: accentColor,\n color: palette.BG,\n fontFamily: FONT_FAMILY,\n fontSize: 15,\n fontWeight: 600,\n border: \"none\",\n }}\n >\n Get started →\n </button>\n </div>\n </div>\n\n {/* prevent unused fps warning if duration computed */}\n <div style={{ display: \"none\" }}>{durationInFrames}</div>\n </div>\n );\n}\n","import { z } from 'zod';\nimport type { PrimitiveMeta } from '../../lib/types';\nimport { ChangelogBite } from './index';\n\nconst paramsSchema = z.object({\n label: z.string().default('Changelog').describe('Short eyebrow label (1–2 words).'),\n title: z.string().default('Faster builds').describe('Headline (1 short sentence).'),\n format: z.enum(['square', 'portrait']).default('square').describe('Aspect ratio. square: 1080×1080. portrait: 1080×1920.'),\n background: z.string().optional().describe('Frame background.'),\n cardBackground: z.string().optional().describe('Card panel background.'),\n accent: z.string().default('#ffb38e').describe('Accent color for label/highlights. Brand-bindable: pass \"$brand:colors.accent\" to track the project brand kit.'),\n speed: z.number().min(0.25).max(4).default(1).describe('Playback speed multiplier.'),\n // Structured-content slot for the before/after comparison panels. These are\n // the JSON-serializable replacement for the inexpressible `oldContent`/\n // `newContent` ReactNode props: supply the literal diff lines and they render\n // in the panels. Omit them to show the baked sample diff.\n oldLines: z.array(z.string()).optional().describe('BEFORE-panel content: one string per line (e.g. the old code). Rendered as monospace text. Omit to show the baked sample diff.'),\n newLines: z.array(z.string()).optional().describe('AFTER-panel content: one string per line (e.g. the new code). Rendered as monospace text. Omit to show the baked sample diff.'),\n}).passthrough();\n\ntype Params = z.infer<typeof paramsSchema>;\n\nexport const config: PrimitiveMeta<Params> = {\n id: 'changelog-bite',\n component: ChangelogBite,\n name: 'Changelog Bite',\n category: 'scenes',\n kind: 'scene',\n version: '0.1.1',\n\n intent: 'changelog',\n description:\n 'Short-form changelog post (square or portrait) with a label/title header and side-by-side old/new content panels. Designed for social-feed posts announcing a release.',\n useWhen:\n 'Twitter/X, Instagram, LinkedIn release posts. The portrait format works for Stories/Reels; square works for feeds. Pass oldLines/newLines (string[]) to fill the before/after comparison panels; omit them to show the baked sample diff.',\n pairsWith: [],\n avoidWith: ['product-launch-trailer'],\n tier: 'niche',\n useCase: ['social-cut'],\n tags: ['scene', 'changelog', 'release', 'social', 'comparison'],\n mood: ['corporate', 'tech-demo', 'minimal'],\n\n paramsSchema,\n propDefaults: { label: 'Changelog', title: 'Faster builds', format: 'square', accent: '#ffb38e', speed: 1 },\n\n primitivesUsed: [],\n\n examples: [\n { name: 'square-feed', mood: ['corporate'], params: { label: 'Changelog', title: 'Faster builds', format: 'square', accent: '#ffb38e', speed: 1 } },\n { name: 'portrait-story', mood: ['minimal'], params: { label: 'v2.1', title: 'New API surface', format: 'portrait', accent: '#9b8bb0', speed: 1 } },\n ],\n\n textParam: 'title',\n subtextParam: 'label',\n // label/title/oldLines/newLines ARE params — the diff CONTENT is now\n // expressible (string[] panels, see oldLines/newLines). What remains baked is\n // only the panel chrome: the BEFORE/AFTER corner badges and the mid-wipe\n // footer labels. Omitting oldLines/newLines falls back to a baked sample diff\n // (its literals are the params' documented defaults, not fixed copy).\n fixedCopy: [\n 'BEFORE', 'AFTER', // old/new panel corner badges\n 'before', 'after', // mid-wipe footer labels\n ],\n tokens: [\n { propPath: 'accent', cssVar: '--cf-accent', fallback: '#ffb38e', brandKitPath: 'colors.accent' },\n ],\n\n durationInFrames: 180,\n fps: 30,\n width: 1080,\n height: 1080,\n\n preview: { thumbnailFrame: 90, mode: 'oneshot', defaultExample: 'square-feed' },\n};\n","import { z } from 'zod';\nimport type { PrimitiveMeta } from '../../lib/types';\nimport { LiveCodeCompilation } from './index';\n\nconst paramsSchema = z.object({\n accentColor: z.string().default('#7fae7a').describe('Accent for build success indicators.'),\n speed: z.number().min(0.25).max(4).default(1).describe('Playback speed multiplier.'),\n}).passthrough();\n\ntype Params = z.infer<typeof paramsSchema>;\n\nexport const config: PrimitiveMeta<Params> = {\n id: 'live-code-compilation',\n component: LiveCodeCompilation,\n name: 'Live Code Compilation',\n category: 'scenes',\n kind: 'scene',\n version: '0.1.1',\n\n intent: 'feature-walkthrough',\n description:\n 'Composed scene showing code typing alongside a live build/output panel. Self-contained mini-product-demo for developer-tooling content. Compiles green when the code reaches a working state.',\n useWhen:\n 'Developer-tooling product demos, build-time-savings claims, \"watch the magic\" moments for compiler/transpiler/builder tools. Pair with a mesh-gradient-bg behind for premium feel. Avoid for non-build content.',\n pairsWith: ['mesh-gradient-bg', 'pulsing-indicator', 'success-confetti'],\n avoidWith: ['changelog-bite'],\n tier: 'niche',\n useCase: ['full-scene', 'explainer'],\n tags: ['scene', 'code', 'build', 'compilation', 'developer', 'demo'],\n mood: ['tech-demo', 'corporate'],\n\n paramsSchema,\n propDefaults: { accentColor: '#7fae7a', speed: 1 },\n\n primitivesUsed: [],\n\n examples: [\n { name: 'green-build', mood: ['tech-demo'], params: { accentColor: '#7fae7a', speed: 1 } },\n { name: 'brand-blue', mood: ['corporate'], params: { accentColor: '#7b93b0', speed: 1 } },\n ],\n\n textParam: null,\n subtextParam: null,\n // The typed program + rendered output are BAKED — no param sets the code or\n // the resulting button label.\n fixedCopy: [\n 'Button', // editor filename tab\n 'export function Button() { … }', // baked sample component source\n 'Ship it', // the rendered button label in the live output panel\n ],\n tokens: [\n { propPath: 'accentColor', cssVar: '--cf-accent', fallback: '#7fae7a', brandKitPath: 'colors.accent' },\n ],\n\n durationInFrames: 240,\n fps: 30,\n width: 1920,\n height: 1080,\n\n preview: { thumbnailFrame: 120, mode: 'oneshot', defaultExample: 'green-build' },\n};\n","import { z } from 'zod';\nimport type { PrimitiveMeta } from '../../lib/types';\nimport { ProductLaunchTrailer } from './index';\n\nconst paramsSchema = z.object({\n logoLabel: z.string().default('cf').describe('Short logo glyph (1–3 characters).'),\n productName: z.string().default('cueframe').describe('Product name (1–3 words).'),\n versionLabel: z.string().default('v2.1').describe('Version or release tag.'),\n accentPeach: z.string().default('#e8782b').describe('Primary accent color (peach in default).'),\n accentLavender: z.string().default('#9b8bb0').describe('Secondary accent color (lavender in default).'),\n accentMint: z.string().default('#7fae7a').describe('Tertiary accent color (mint in default).'),\n background: z.string().default('#14100c').describe('Frame background.'),\n speed: z.number().min(0.25).max(4).default(1).describe('Playback speed multiplier.'),\n}).passthrough();\n\ntype Params = z.infer<typeof paramsSchema>;\n\nexport const config: PrimitiveMeta<Params> = {\n id: 'product-launch-trailer',\n component: ProductLaunchTrailer,\n name: 'Product Launch Trailer',\n category: 'scenes',\n kind: 'scene',\n version: '0.1.2',\n\n intent: 'product-trailer',\n description:\n 'Full-frame multi-phase trailer: pulsing logo intro → app-shell flyover → outro with confetti. ~8-second self-contained scene with three named accent colors. Use as a reference template for client-trailer work or as a drop-in launch video.',\n useWhen:\n 'Product launches, version releases, hero pages, anywhere a polished 8-second trailer fits. Customize via the brand-kit-driven accent triplet + product copy. Avoid editing the timing — the anchor object inside is tuned.',\n pairsWith: [],\n avoidWith: ['changelog-bite', 'live-code-compilation'],\n tier: 'recommended',\n useCase: ['intro', 'full-scene'],\n tags: ['scene', 'trailer', 'product', 'launch', 'composition', 'multi-phase'],\n mood: ['cinematic', 'corporate', 'aggressive'],\n\n paramsSchema,\n propDefaults: { logoLabel: 'cf', productName: 'cueframe', versionLabel: 'v2.1', accentPeach: '#e8782b', accentLavender: '#9b8bb0', accentMint: '#7fae7a', background: '#14100c', speed: 1 },\n\n primitivesUsed: [],\n\n examples: [\n { name: 'cueframe-launch', mood: ['corporate'], params: { logoLabel: 'cf', productName: 'cueframe', versionLabel: 'v2.1', accentPeach: '#e8782b', accentLavender: '#9b8bb0', accentMint: '#7fae7a', background: '#14100c', speed: 1 } },\n ],\n\n textParam: 'productName',\n subtextParam: 'versionLabel',\n // logoLabel/productName/versionLabel ARE params; these are the BAKED strings\n // (FauxBentoGrid cards + FauxCodeBlock body) no param can change.\n fixedCopy: [\n 'Animations', 'Spring-tuned', // bento card 1\n 'Transitions', 'Cinematic', // bento card 2\n 'Backgrounds', 'Volumetric', // bento card 3\n 'Compositions', 'Production-ready', // bento card 4\n 'scene.tsx', // faux code block title bar\n \"import { Trailer } from 'remocn'\",\n '<Trailer label=\"v1.0\" accent=\"lavender\" />',\n ],\n tokens: [\n { propPath: 'accentPeach', cssVar: '--cf-accent', fallback: '#e8782b', brandKitPath: 'colors.accent' },\n { propPath: 'accentLavender', cssVar: '--cf-accent-2', fallback: '#9b8bb0', brandKitPath: 'colors.accentMuted' },\n { propPath: 'accentMint', cssVar: '--cf-accent-3', fallback: '#7fae7a', brandKitPath: 'colors.accentMuted' },\n { propPath: 'background', cssVar: '--cf-bg', fallback: '#14100c', brandKitPath: 'colors.background' },\n ],\n\n durationInFrames: 240,\n fps: 30,\n width: 1920,\n height: 1080,\n\n preview: { thumbnailFrame: 120, mode: 'oneshot', defaultExample: 'cueframe-launch' },\n};\n","import { z } from 'zod';\nimport type { PrimitiveMeta } from '../../lib/types';\nimport { HeroDeviceAssemble } from './index';\n\nconst paramsSchema = z.object({\n assembleStart: z.number().min(0).default(0).describe('Frame at which the 3D layer-stack assembly spring fires. Use to delay the assemble after a title beat.'),\n device: z.enum(['laptop', 'phone']).default('laptop').describe('Device silhouette. `laptop` adds a chassis base under the screen; `phone` uses a tall portrait bezel.'),\n accentColor: z.string().default('#7fae7a').describe('Accent color for the mock-UI sidebar bar, the highlighted dashboard card, and brand surfaces inside the screen.'),\n speed: z.number().min(0.25).max(4).default(1).describe('Playback speed multiplier. >1 condenses the assemble + screen wake + shimmer.'),\n className: z.string().optional().describe('Optional className passthrough on the outer absolute frame.'),\n}).passthrough();\n\ntype Params = z.infer<typeof paramsSchema>;\n\nexport const config: PrimitiveMeta<Params> = {\n id: 'hero-device-assemble',\n component: HeroDeviceAssemble,\n name: 'Hero Device Assemble',\n category: 'scenes',\n kind: 'scene',\n version: '0.1.1',\n\n intent: 'assemble-hero-device',\n description:\n 'Hero shot where a laptop or phone assembles in 3D from exploded layers (lid, base, bezel, screen) into a settled device, then the screen wakes from black to a mock UI and a shimmer sweeps across. Self-contained ~3-second product reveal beat.',\n useWhen:\n 'App / SaaS hero loops, product-page intros, \"see it on your device\" moments, ad pre-rolls. Use `device=\"phone\"` for mobile-first products. Pair with a title card before or a CTA after. Avoid for short clips <4s — the assemble spring + wake + shimmer needs ~80 frames to land. Avoid for vertical/9:16 with `device=\"laptop\"` — the laptop aspect cuts off; switch to `device=\"phone\"`.',\n pairsWith: ['kinetic-type-mask', 'pulsing-indicator'],\n avoidWith: ['changelog-bite'],\n tier: 'standard',\n useCase: ['intro', 'full-scene'],\n tags: ['scene', 'hero', 'device', 'mockup', 'laptop', 'phone', '3d', 'assemble', 'product'],\n mood: ['cinematic', 'tech-demo', 'corporate'],\n\n paramsSchema,\n propDefaults: { assembleStart: 0, device: 'laptop', accentColor: '#7fae7a', speed: 1 },\n\n primitivesUsed: [],\n\n examples: [\n {\n name: 'laptop-green',\n mood: ['tech-demo', 'corporate'],\n params: { assembleStart: 0, device: 'laptop', accentColor: '#7fae7a', speed: 1 },\n description: 'Default — laptop assemble with green accent on the mock dashboard. Use for SaaS hero loops.',\n },\n {\n name: 'phone-lavender',\n mood: ['cinematic'],\n params: { assembleStart: 0, device: 'phone', accentColor: '#9b8bb0', speed: 1 },\n description: 'Phone variant with lavender accent. Use for mobile-first product launches.',\n },\n {\n name: 'delayed-laptop',\n mood: ['cinematic'],\n params: { assembleStart: 30, device: 'laptop', accentColor: '#7b93b0', speed: 1 },\n description: 'Hold black for 1s before assembling. Use when stacking after a title-card beat.',\n },\n ],\n\n textParam: null,\n subtextParam: null,\n tokens: [\n { propPath: 'accentColor', cssVar: '--cf-accent', fallback: '#7fae7a', brandKitPath: 'colors.accent' },\n ],\n\n durationInFrames: 240,\n fps: 30,\n width: 1920,\n height: 1080,\n\n preview: { thumbnailFrame: 75, mode: 'oneshot', defaultExample: 'laptop-green' },\n};\n","import { z } from 'zod';\nimport type { PrimitiveMeta } from '../../lib/types';\nimport { PricingTierFocus } from './index';\n\nconst paramsSchema = z.object({\n focusedTier: z.union([\n z.literal(0),\n z.literal(1),\n z.literal(2),\n z.literal('0'),\n z.literal('1'),\n z.literal('2'),\n ])\n .default(1)\n .describe('Index of the tier to focus (0=Free, 1=Pro, 2=Enterprise). The focused tier scales up, lifts, and gets a \"Popular\" badge + shimmering CTA; siblings dim and blur.'),\n accentColor: z.string().default('#7fae7a').describe('Accent color for the focused-tier border glow, \"Popular\" badge, feature checks, and CTA fill.'),\n speed: z.number().min(0.25).max(4).default(1).describe('Playback speed multiplier.'),\n className: z.string().optional().describe('Optional className passthrough on the outer flex frame.'),\n}).passthrough();\n\ntype Params = z.infer<typeof paramsSchema>;\n\nexport const config: PrimitiveMeta<Params> = {\n id: 'pricing-tier-focus',\n component: PricingTierFocus,\n name: 'Pricing Tier Focus',\n category: 'scenes',\n kind: 'scene',\n version: '0.1.1',\n\n intent: 'showcase-pricing',\n description:\n 'Three-card pricing layout (Free / Pro / Enterprise) where one tier scales up, lifts, and shimmers while the others dim and blur. Tier copy is hardcoded; the agent picks which tier to spotlight via `focusedTier`.',\n useWhen:\n 'SaaS pricing reveals, plan-upgrade promos, \"this is the one to pick\" moments. Use `focusedTier=1` for Pro-default upsell, `2` for enterprise sales decks. Avoid for short clips <8s — the focus spring lands at frame 50, shimmer at 90. Avoid for vertical/9:16 unless rebuilt — three side-by-side cards need 16:9 width.',\n pairsWith: ['success-confetti'],\n avoidWith: ['changelog-bite'],\n tier: 'standard',\n useCase: ['full-scene', 'explainer'],\n tags: ['scene', 'pricing', 'tiers', 'saas', 'upsell', 'plans'],\n mood: ['corporate', 'tech-demo', 'minimal'],\n\n paramsSchema,\n propDefaults: { focusedTier: 1, accentColor: '#7fae7a', speed: 1 },\n\n primitivesUsed: [],\n\n examples: [\n {\n name: 'pro-upsell',\n mood: ['corporate'],\n params: { focusedTier: 1, accentColor: '#7fae7a', speed: 1 },\n description: 'Default — focus the middle Pro tier with green accent. Best for self-serve SaaS landing pages.',\n },\n {\n name: 'enterprise-sales',\n mood: ['corporate', 'cinematic'],\n params: { focusedTier: 2, accentColor: '#9b8bb0', speed: 1 },\n description: 'Spotlight Enterprise with lavender accent. Use in sales-deck loops or B2B trailers.',\n },\n {\n name: 'free-onboarding',\n mood: ['playful', 'minimal'],\n params: { focusedTier: 0, accentColor: '#7b93b0', speed: 1 },\n description: 'Spotlight the Free tier with sky-blue accent. Use in product-led-growth onboarding videos.',\n },\n ],\n\n textParam: null,\n subtextParam: null,\n // focusedTier picks WHICH card to spotlight; all tier copy/prices are BAKED.\n // The scene that exists to show pricing cannot carry the agent's pricing.\n fixedCopy: [\n 'Free', '$0', '/mo', '1 project', 'Community support', '1 GB storage', 'Get started',\n 'Pro', '$24', '/mo', 'Unlimited projects', 'Priority support', '100 GB storage', 'Advanced analytics', 'Buy Pro',\n 'Enterprise', 'Dedicated manager', 'Unlimited storage', 'Contact sales',\n 'Popular', // badge on the focused tier\n ],\n tokens: [\n { propPath: 'accentColor', cssVar: '--cf-accent', fallback: '#7fae7a', brandKitPath: 'colors.accent' },\n ],\n\n durationInFrames: 240,\n fps: 30,\n width: 1920,\n height: 1080,\n\n preview: { thumbnailFrame: 110, mode: 'oneshot', defaultExample: 'pro-upsell' },\n};\n","import { z } from 'zod';\nimport type { PrimitiveMeta } from '../../lib/types';\nimport { LandingCodeShowcase } from './index';\nimport { LANDING_CODE_SHOWCASE_DURATION } from './timeline';\n\nconst paramsSchema = z.object({\n accentColor: z.string().default('#FFB38E').describe('Accent color for the code editor caret, syntax highlight on local identifiers, and the success-glow halo on the right preview pane.'),\n speed: z.number().min(0.25).max(4).default(1).describe('Playback speed multiplier. The internal timeline assumes 30fps base; >1 condenses the whole 24s sequence.'),\n}).passthrough();\n\ntype Params = z.infer<typeof paramsSchema>;\n\nexport const config: PrimitiveMeta<Params> = {\n id: 'landing-code-showcase',\n component: LandingCodeShowcase,\n name: 'Landing Code Showcase',\n category: 'scenes',\n kind: 'scene',\n version: '0.1.1',\n\n intent: 'showcase-landing-code',\n description:\n 'Two-pane \"code → live preview\" hero loop. Left: a glassy editor types JSX one component at a time. Right: each typed component renders inside a warm pastel stage, with `spatial-push` and `frosted-glass-wipe` transitions between beats (BlurReveal → DashboardPopulate → MaskedSlideReveal → TerminalToBrowserDeploy). Self-contained 24-second showcase loop for component-library marketing.',\n useWhen:\n 'Component library / framework / Remotion-style SDK landing pages, hero loops, \"build with us\" demos, conference talk title cards. Avoid for short clips <16s — the staged code-typing pace cannot be compressed without losing the reveal beats. Avoid for vertical/9:16 unless rebuilt — split-pane layout assumes 16:9.',\n pairsWith: [],\n avoidWith: ['changelog-bite', 'product-launch-trailer'],\n tier: 'recommended',\n useCase: ['full-scene'],\n tags: ['scene', 'landing', 'code', 'showcase', 'hero', 'split-pane', 'components', 'library'],\n mood: ['cinematic', 'tech-demo', 'editorial'],\n\n paramsSchema,\n propDefaults: { accentColor: '#FFB38E', speed: 1 },\n\n primitivesUsed: [\n 'dashboard-populate',\n 'frosted-glass-wipe',\n 'spatial-push',\n 'terminal-to-browser-deploy',\n ],\n\n examples: [\n {\n name: 'peach-default',\n mood: ['cinematic', 'editorial'],\n params: { accentColor: '#FFB38E', speed: 1 },\n description: 'Default warm peach accent. Use for premium dev-tool landing pages where the pastel stage matches the brand.',\n },\n {\n name: 'mint-hero',\n mood: ['tech-demo'],\n params: { accentColor: '#7fae7a', speed: 1 },\n description: 'Mint accent — pairs well when the brand already uses green for \"ship/deploy\" semantics.',\n },\n ],\n\n textParam: null,\n subtextParam: null,\n // No prop changes the marketing copy or the typed program — fork via\n // get_component_source to rewrite (index.tsx STEPS / BlurRevealScene /\n // MaskedSlideScene / TerminalScene).\n fixedCopy: [\n 'Build faster.', // BlurReveal headline (right preview pane)\n 'Ship to production.', // MaskedSlideReveal headline\n 'Preview · HMR', // live-preview label\n 'scene.tsx', // editor title-bar filename\n 'remocn.dev', // deploy URL inside the embedded terminal-to-browser beat\n 'import { BlurReveal, DashboardPopulate, MaskedSlideReveal, TerminalToBrowserDeploy, Transition } from \"@/components/remocn\"',\n '<BlurReveal text=\"Build faster.\" />',\n '<MaskedSlideReveal text=\"Ship to production.\" />',\n ],\n tokens: [\n { propPath: 'accentColor', cssVar: '--cf-accent', fallback: '#FFB38E', brandKitPath: 'colors.accent' },\n ],\n\n durationInFrames: LANDING_CODE_SHOWCASE_DURATION,\n fps: 30,\n width: 1920,\n height: 1080,\n\n preview: { thumbnailFrame: 540, mode: 'oneshot', defaultExample: 'peach-default' },\n};\n","import { z } from 'zod';\nimport type { PrimitiveMeta } from '../../lib/types';\nimport { TerminalToBrowserDeploy } from './index';\n\nconst paramsSchema = z.object({\n siteUrl: z.string().default('https://app.example.com').describe('Deploy target URL shown on the success line and inside the browser address bar.'),\n accentColor: z.string().default('#7fae7a').describe('Accent color for the deploy success line, browser hero copy, and CTA button.'),\n speed: z.number().min(0.25).max(4).default(1).describe('Playback speed multiplier. >1 condenses the typewriter + collapse + browser reveal.'),\n className: z.string().optional().describe('Optional className passthrough on the outer absolute frame.'),\n}).passthrough();\n\ntype Params = z.infer<typeof paramsSchema>;\n\nexport const config: PrimitiveMeta<Params> = {\n id: 'terminal-to-browser-deploy',\n component: TerminalToBrowserDeploy,\n name: 'Terminal to Browser Deploy',\n category: 'scenes',\n kind: 'scene',\n version: '0.1.1',\n\n intent: 'animate-deploy-flow',\n description:\n 'Full-frame deploy beat: terminal types `pnpm deploy`, prints build/bundle/upload steps, then the success line collapses-and-blurs while a polished marketing browser springs forward at the URL. Self-contained ~6-second story for \"ship it\" moments.',\n useWhen:\n 'Developer-tooling launches, deploy/CI/CD product demos, \"from commit to live\" moments, hero loops behind a CTA. Pair with `success-confetti` or a short outro card. Avoid for short clips <10s where the terminal collapse never plays. Avoid for vertical/9:16 unless the terminal + browser geometry is rebuilt — internal coordinates are baked at 1280×720.',\n pairsWith: ['success-confetti', 'pulsing-indicator'],\n avoidWith: ['changelog-bite'],\n tier: 'recommended',\n useCase: ['outro', 'full-scene'],\n tags: ['scene', 'terminal', 'deploy', 'browser', 'cli', 'developer', 'shipping', 'cicd'],\n mood: ['tech-demo', 'cinematic', 'corporate'],\n\n paramsSchema,\n propDefaults: { siteUrl: 'https://app.example.com', accentColor: '#7fae7a', speed: 1 },\n\n primitivesUsed: [],\n\n examples: [\n {\n name: 'green-ship',\n mood: ['tech-demo'],\n params: { siteUrl: 'https://app.example.com', accentColor: '#7fae7a', speed: 1 },\n description: 'Default green-build deploy. Use for generic developer-tool demos.',\n },\n {\n name: 'brand-blue',\n mood: ['corporate'],\n params: { siteUrl: 'https://acme.dev', accentColor: '#7b93b0', speed: 1 },\n description: 'Corporate blue accent on a real-looking domain. Use when the brand kit resolves the accent.',\n },\n {\n name: 'fast-edit',\n mood: ['tech-demo', 'aggressive'],\n params: { siteUrl: 'https://remocn.dev', accentColor: '#9b8bb0', speed: 1.4 },\n description: '1.4x speed cut, lavender accent. Use inside compilation montages where the deploy beat is one of several.',\n },\n ],\n\n textParam: 'siteUrl',\n subtextParam: null,\n // siteUrl is a param (it interpolates into the success line + address bar);\n // the terminal log lines + browser chrome/hero are BAKED.\n fixedCopy: [\n '$ pnpm deploy',\n '→ Building project...',\n '→ Bundling assets...',\n '→ Uploading...',\n '✓ Deployed to <siteUrl>', // siteUrl param interpolates here\n 'Acme', 'Features', 'Pricing', 'Docs', // browser nav (Acme brand is fixed)\n 'Ship faster.', 'Get started →', // browser hero headline + CTA\n ],\n tokens: [\n { propPath: 'accentColor', cssVar: '--cf-accent', fallback: '#7fae7a', brandKitPath: 'colors.accent' },\n ],\n\n durationInFrames: 240,\n fps: 30,\n width: 1920,\n height: 1080,\n\n preview: { thumbnailFrame: 165, mode: 'oneshot', defaultExample: 'green-ship' },\n};\n","// @cueframe/primitives/scenes — full-frame multi-primitive compositions\n\nimport type { Catalog } from '../lib/types';\n\nexport { ChangelogBite } from './changelog-bite';\nexport { LiveCodeCompilation } from './live-code-compilation';\nexport { ProductLaunchTrailer } from './product-launch-trailer';\n\nexport { HeroDeviceAssemble } from './hero-device-assemble';\nexport { PricingTierFocus } from './pricing-tier-focus';\nexport { LandingCodeShowcase } from './landing-code-showcase';\nexport { TerminalToBrowserDeploy } from './terminal-to-browser-deploy';\n\nimport { config as changelogBite } from './changelog-bite/config';\nimport { config as liveCodeCompilation } from './live-code-compilation/config';\nimport { config as productLaunchTrailer } from './product-launch-trailer/config';\nimport { config as heroDeviceAssemble } from './hero-device-assemble/config';\nimport { config as pricingTierFocus } from './pricing-tier-focus/config';\nimport { config as landingCodeShowcase } from './landing-code-showcase/config';\nimport { config as terminalToBrowserDeploy } from './terminal-to-browser-deploy/config';\n\nexport const catalog: Catalog = [\n changelogBite,\n liveCodeCompilation,\n productLaunchTrailer,\n heroDeviceAssemble,\n pricingTierFocus,\n landingCodeShowcase,\n terminalToBrowserDeploy,\n];\n"],"mappings":"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","names":["useCurrentFrame","jsx","jsxs","FONT_FAMILY","MONO_FAMILY","useCurrentFrame","AbsoluteFill","Easing","interpolate","spring","useCurrentFrame","useVideoConfig","jsx","jsxs","FONT_FAMILY","MONO_FAMILY","SOFT","Easing","AbsoluteFill","useCurrentFrame","interpolate","useVideoConfig","spring","interpolate","spring","useCurrentFrame","useVideoConfig","jsx","jsxs","FONT_FAMILY","useCurrentFrame","useVideoConfig","spring","interpolate","interpolate","spring","useCurrentFrame","useVideoConfig","jsx","jsxs","FONT_FAMILY","useCurrentFrame","useVideoConfig","spring","interpolate","z","AbsoluteFill","interpolate","Sequence","spring","useCurrentFrame","useVideoConfig","interpolate","spring","useCurrentFrame","useVideoConfig","jsx","jsxs","FONT_FAMILY","MONO_FAMILY","useCurrentFrame","useVideoConfig","interpolate","spring","jsx","jsxs","FONT_FAMILY","MONO_FAMILY","CHARS_PER_FRAME","useCurrentFrame","interpolate","useVideoConfig","spring","Sequence","AbsoluteFill","z","paramsSchema","z","config","z","paramsSchema","z","config","z","paramsSchema","z","config","z","paramsSchema","z","config","z","paramsSchema","z","config","z","paramsSchema","z","config","config"]}