{
  "name": "hero-device-assemble",
  "type": "registry:block",
  "description": "Device layers assemble hero",
  "dependencies": [
    "remotion"
  ],
  "registryDependencies": [
    "title-card",
    "device-mockup-zoom",
    "motion-tokens"
  ],
  "composition": {
    "id": "HeroDeviceAssemble",
    "component": "HeroDeviceAssemble",
    "durationInFrames": 180,
    "fps": 30,
    "width": 1920,
    "height": 1080,
    "importPath": "@/compositions/hero-device-assemble/index"
  },
  "files": [
    {
      "path": "registry/bases/default/compositions/hero-device-assemble/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 { DeviceMockupZoom } from \"@/remotion/scenes/device-mockup-zoom\";\nimport { TitleCard } from \"@/remotion/scenes/title-card\";\n\nconst SCENE_DURATIONS = {\n  title: 75,\n  device: 105,\n} as const;\n\nconst FADE = transitionFade({ durationInFrames: DURATION.fast });\n\nexport type HeroDeviceAssembleProps = {\n  title?: string;\n  subtitle?: string;\n};\n\nexport const HeroDeviceAssemble: React.FC<HeroDeviceAssembleProps> = ({\n  title = \"Ship on every screen\",\n  subtitle = \"Device layers spring into frame\",\n}) => {\n  return (\n    <AbsoluteFill style={{ background: \"#080810\" }}>\n      <TransitionSeries>\n        <TransitionSeries.Sequence durationInFrames={SCENE_DURATIONS.title}>\n          <TitleCard title={title} subtitle={subtitle} />\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"
  }
}