{/* Header: speed pills */}
Preview
{SPEEDS.map((s) => (
))}
{/* Canvas */}
!isInfinite && setAnimState('ended')}
>
{element === 'box' && (
)}
{element === 'circle' && (
)}
{element === 'text' && (
Hello
)}
{/* Controls: element selector + playback */}
{/* Element picker */}
{ELEMENTS.map(({ value, icon, title }) => (
))}
{/* Playback */}
);
}