import React from 'react';
import {useCurrentFrame} from 'remotion';
import {kurve} from '../bewegung';
import {ClipFigur, Figur, Kamera} from '../baukasten/figur';
import {Blende, Vignette, atmen, huepfer, kamFahrt} from '../baukasten/helfer';
import {Funkeln} from '../baukasten/natur';
import {KALENDER_TUER1, KalenderAufTisch, KalenderMalen, Ort} from '../baukasten/orte';
import {Untertitel} from '../baukasten/untertitel';
import {plane} from './plan';
// Szene 6: Noas Idee. Abends in Noas Zimmer, Noa malt den Kalender.
const N = 420; // Noas Größe im Zimmer (näher an der Kamera)
const NOA_X6 = 800;
const PINO_X6 = 1090;
const TISCH_Y = 802;
const LULU_X6 = 1440;
export const S6 = plane('s6', [
{id: 'bild0', dauer: 3.0},
{id: 'malen', dauer: 5.5},
{id: 'l1', wer: 'LULU', text: 'Was malst du da, Noa?'},
{id: 'n1', wer: 'NOA', text: 'Einen Kalender! Mit 24 Türchen.'},
{id: 'n2', wer: 'NOA', text: 'Wir öffnen jeden Tag eins. Und hinter jedem Türchen steckt etwas, das Pino wach hält.'},
{id: 'p1', wer: 'PINO', text: 'Was denn?'},
{id: 'n3', wer: 'NOA', text: 'Etwas zum Entdecken, zum Basteln, zum Backen und zum Singen.'},
{id: 'n4', wer: 'NOA', text: 'Und wenn das letzte Türchen offen ist, ist Winterfest!'},
{id: 'bild1', dauer: 2.0},
{id: 'p2', wer: 'PINO', text: 'Meine Stacheln kribbeln!'},
{id: 'bild2', dauer: 4.2},
]);
export const Szene6: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S6;
// Noa malt: Blick von oben aufs Blatt, während „malen“ und während sie antwortet (n1).
// Langsamer Anfang, dazwischen Zimmer (es geht weiter), bei n1 ist er fast fertig.
const malP = kurve(f, [
[z.malen.start, 0],
[z.malen.start + 50, 0.03],
[z.malen.ende, 0.2],
[z.n1.start, 0.8],
[z.n1.ende, 0.96],
]);
const malSicht = (f >= z.malen.start && f < z.l1.start) || (f >= z.n1.start && f < z.n1.ende + 6);
const malt = f < z.n1.ende;
const luluX = kurve(f, [
[20, 1900],
[z.bild0.ende, LULU_X6],
]);
const sprung = z.bild1.start;
const imSprung = f >= sprung && f < sprung + 58;
const kribbeln = f > z.p2.start - 5 && f < z.p2.ende + 10;
const zitter = kribbeln ? Math.sin(f * 2.3) * 3 : 0;
const kalender = f >= z.bild2.start;
const tippen = [z.bild2.start + 45, z.bild2.start + 75];
const tippY = tippen.reduce((s, t) => s + Math.max(0, Math.sin(Math.min(1, Math.max(0, (f - t) / 14)) * Math.PI)) * 30, 0);
const leuchten = kalender ? 0.5 + 0.5 * Math.sin((f - z.bild2.start) * 0.15) : 0;
const kam = kamFahrt(f, [
[0, 960, 540, 1.0],
[z.bild0.ende, 1060, 560, 1.15],
[z.l1.start, 1080, 640, 1.5],
[z.n1.ende, 1060, 650, 1.5],
[z.p1.start, 980, 650, 1.6],
[z.n4.ende, 960, 640, 1.5],
[sprung + 10, 1050, 700, 2.0],
[z.p2.ende, 1060, 710, 2.1],
]);
const kalKam = kamFahrt(f, [
[z.bild2.start, 960, 540, 1.0],
[dauer, KALENDER_TUER1.x - 40, KALENDER_TUER1.y, 1.6],
]);
if (malSicht) {
return (
<>
>
);
}
if (kalender) {
return (
<>
{/* Buntstift tippt auf Türchen 1 */}
>
);
}
return (
<>
{f >= z.malen.start && }
{imSprung ? (
) : (
)}
{kribbeln && }
>
);
};