import { Composition } from "remotion"; import { ASPECTS } from "./lib/aspect"; import { TEMPLATES } from "./templates"; import { Three3DTest } from "./compositions/Three3DTest"; import { AssetSheet } from "./compositions/AssetSheet"; import { StoryScenes, STORY_SCENES_DURATION } from "./compositions/StoryScenes"; import { FlexStory, flexStorySchema, flexStoryDefaults, calcFlexStoryMetadata } from "./compositions/FlexStory"; import { LogoMotion3D, logoMotion3DSchema, logoMotion3DDefaults } from "./compositions/LogoMotion3D"; import { CHARACTER_JOURNEY } from "./scenes/presets"; import { IlluminatedCircles, illuminatedCirclesSchema, } from "./compositions/IlluminatedCircles"; import { KineticQuote, kineticQuoteSchema, } from "./compositions/KineticQuote"; import { GradientPromo, gradientPromoSchema, } from "./compositions/GradientPromo"; import { VerticalStory, verticalStorySchema, } from "./compositions/VerticalStory"; const FPS = 30; export const RemotionRoot: React.FC = () => { return ( <> {/* Logo intro — 16:9 */} {/* Kinetic typography quote — 1:1 social */} {/* Marketing / sale promo — 16:9 */} {/* Vertical social story — 9:16 */} {/* Tech/3D logo motion — quality-preview composition */} {ASPECTS.map((a) => ( ))} {/* 3D feasibility test */} {/* Dev preview: vendored CC0 character library (not a customer template) */} {/* 2.5D story scenes proof (Three.js room + flat CC0 characters) — dev preview */} {ASPECTS.map((a) => ( ))} {/* FlexStory — the scene engine: an ordered list of editable scene blocks, duration computed dynamically from the per-scene durations. */} {ASPECTS.map((a) => ( ))} {/* CharacterJourney — pilot template: a curated FlexStory scene list (theme + story). */} {ASPECTS.map((a) => ( ))} {/* Branded templates — each registered in all three aspects. A template may supply a dedicated component per aspect (componentsByAspect) when its design differs structurally; otherwise the shared `component` adapts responsively. */} {TEMPLATES.flatMap((tpl) => ASPECTS.map((a) => ( )) )} ); };