youtube/remotion/src/Root.tsx
Lara 336c2121d5 Folge 1 „Zu klein, zu groß“ in Remotion: Plan, Texte DE/ES/FR, Herbstgarten, Szene 2
- Drehbuch: Umsetzungsplan für Remotion statt Higgsfield-Bildliste
- src/folge01/: Texte in drei Sprachen, Intro, Szene 2 „Wer raschelt da?“, Outro
- Orte garten_herbst und garten_herbst_abend (volle Herbstkrone, ohne Holzstapel)
- natur.tsx: Apfel, Blume, Laubhaufen (wackelt, wird gestaucht)
- figur.tsx: fehlt eine Clip-Datei, nimmt die Figur Standbilder
  (Gehen: die vier Geh-Bilder) – so lässt sich auch ohne /shared rendern
- Root: Ort-Kompositionen mit mehreren Unterstrichen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 12:07:57 +01:00

34 lines
2 KiB
TypeScript

import React from 'react';
import {Composition} from 'remotion';
import {HintergrundAbend, PapierStruktur, VordergrundAbend} from './szenen/Hintergruende';
import {LaterneTest} from './szenen/LaterneTest';
import {VerformTest} from './szenen/VerformTest';
import {FolgenKompositionen} from './baukasten/folge';
import {NEST_BILD} from './baukasten/natur';
import {NestStill, ORTE, OrtStill} from './baukasten/orte';
import {F01} from './folge01/Folge01';
import {F02} from './folge02/Folge02';
import {Banner, BannerRahmen, Profilbild} from './kanal/KanalBilder';
const BILD = {fps: 30, width: 1920, height: 1080} as const;
export const Root: React.FC = () => (
<>
<Composition id="LaterneTest" component={LaterneTest} durationInFrames={420} {...BILD} />
<Composition id="VerformTest" component={VerformTest} durationInFrames={240} {...BILD} />
<Composition id="HintergrundAbend" component={HintergrundAbend} durationInFrames={1} {...BILD} />
<Composition id="VordergrundAbend" component={VordergrundAbend} durationInFrames={1} {...BILD} />
<Composition id="PapierStruktur" component={PapierStruktur} durationInFrames={1} {...BILD} />
<FolgenKompositionen folge={F01} />
<FolgenKompositionen folge={F02} />
<Composition id="Kanal-Profilbild" component={Profilbild} durationInFrames={1} fps={30} width={800} height={800} />
<Composition id="Kanal-Banner" component={Banner} durationInFrames={1} fps={30} width={2560} height={1440} />
<Composition id="Kanal-Banner-Rahmen" component={BannerRahmen} durationInFrames={1} fps={30} width={2560} height={1440} />
{(['hinten', 'vorne'] as const).map((seite) => (
<Composition key={seite} id={`F2Nest-${seite}`} component={NestStill} defaultProps={{seite}} durationInFrames={1} fps={30} width={NEST_BILD.b} height={NEST_BILD.h} />
))}
{Object.keys(ORTE).map((name) => (
<Composition key={name} id={`F2Ort-${name.replace(/_/g, '-')}`} component={OrtStill} defaultProps={{name}} durationInFrames={1} {...BILD} />
))}
</>
);