{
  "name": "deploy-reveal",
  "type": "registry:block",
  "description": "Terminal deploy to browser",
  "dependencies": [
    "remotion"
  ],
  "registryDependencies": [
    "terminal-simulator",
    "device-mockup-zoom",
    "motion-tokens"
  ],
  "composition": {
    "id": "DeployReveal",
    "component": "DeployReveal",
    "durationInFrames": 180,
    "fps": 30,
    "width": 1920,
    "height": 1080,
    "importPath": "@/compositions/deploy-reveal/index"
  },
  "files": [
    {
      "path": "registry/bases/default/compositions/deploy-reveal/index.tsx",
      "type": "registry:block",
      "content": "import { AbsoluteFill } from \"remotion\";\nimport { TransitionSeries } from \"@remotion/transitions\";\nimport { transitionFade } from \"@/remotion/primitives/transition-fade\";\nimport { DURATION } from \"@/remotion/lib/motion-tokens\";\nimport { TerminalSimulator } from \"@/remotion/scenes/terminal-simulator\";\nimport { DeviceMockupZoom } from \"@/remotion/scenes/device-mockup-zoom\";\n\nconst SCENE_DURATIONS = {\n  terminal: 90,\n  device: 90,\n} as const;\n\nconst FADE = transitionFade({ durationInFrames: DURATION.fast });\n\nexport const DeployReveal: React.FC = () => {\n  return (\n    <AbsoluteFill style={{ background: \"#080810\" }}>\n      <TransitionSeries>\n        <TransitionSeries.Sequence durationInFrames={SCENE_DURATIONS.terminal}>\n          {/* 90 frames — sped up so the prompt returns before the transition. */}\n          <TerminalSimulator\n            title=\"Deploy\"\n            command=\"vercel deploy --prod\"\n            steps={[\n              { text: \"uploading build output\", duration: \"1.2s\" },\n              { text: \"assigning production domain\", duration: \"340ms\" },\n            ]}\n            summary=\"live in 4.2s\"\n            speed={1.7}\n          />\n        </TransitionSeries.Sequence>\n        <TransitionSeries.Transition {...FADE} />\n        <TransitionSeries.Sequence durationInFrames={SCENE_DURATIONS.device}>\n          <DeviceMockupZoom device=\"laptop\" />\n        </TransitionSeries.Sequence>\n      </TransitionSeries>\n    </AbsoluteFill>\n  );\n};\n"
    }
  ],
  "atlas": {
    "lane": "reels",
    "drive": "time",
    "tier": "advanced"
  }
}