// CarimboData: o dia D como carimbo de borracha vermelho que despenca de 3,4× e bate na tela (escala 3,4 → 1 em 7 quadros, // com tremor e respingo de tinta), duas bordas, "É HOJE" em Big Shoulders 900 e a data em mono. Herói do fim. import React from 'react'; import {useCurrentFrame} from 'remotion'; import {COR, FONTE, MONO, caber, e5, seg} from '../base'; export type CarimboDataProps = { texto: string; data: string; inicio?: number; /** centro vertical, px */ y: number; /** inclinação final, graus */ rot?: number; fim?: number; }; export const CarimboData: React.FC = ({texto, data, inicio = 0, y, rot = -7, fim = 1e9}) => { const f = useCurrentFrame(); if (f < inicio - 1 || f > fim + 12) return null; const queda = e5(seg(f, inicio, inicio + 7)), bateu = f >= inicio + 7; const apos = f - inicio - 7, tremor = bateu ? Math.exp(-apos / 4) * Math.sin(apos * 2.4) : 0; const sai = e5(seg(f, fim, fim + 10)); const tam = caber(texto, 400, 700, 900, -0.01, 'CT Big Shoulders'); return
{texto}
{data}
{bateu && apos < 14 && Array.from({length: 10}, (_, i) => { const a = (i / 10) * Math.PI * 2 + 0.3, d = 520 + (i % 3) * 60, p = e5(seg(apos, 0, 8)); return
; })}
; };