import { render_and_copy } from "./common.tsx"; import { ComponentChildren } from "preact"; const Rail = ({ rotation, r }: { rotation: string; r: string }) => (
🪜
); const Track = ({ segments, r, children, }: { segments: number; r: string; children?: ComponentChildren; }) => (
{...Array.from({ length: segments }, (_, i) => ( // deg is actually more space-efficient lel ))} {children}
); const Train = ({ children, delay_s, }: { children: ComponentChildren; delay_s: number; }) => (
{children}
); // we can have things with animation delays for both the engine and the cars // configurable animation length for sure // it's so funny seeing css crimes from like a year ago and they are just like on a different level render_and_copy( 🚂 🚃 🚃 🚃 🚃 );