+
+
+ {ready ? (
+
+ ) : null}
+
+ {/* Day chips (HTML overlay, aligned to the SVG nodes) */}
+ {ready
+ ? nodes.map((n) => (
+
+ ))
+ : null}
+
+ {/* Hidden-folds hint at the base */}
+ {ready && hidden > 0 ? (
+
+ +{hidden} earlier {hidden === 1 ? "day" : "days"}
+
+ ) : null}
+
+ );
+}
+
+function Leaf({
+ lf,
+ pal,
+ fill,
+}: {
+ lf: { x: number; y: number; rot: number; L: number; delay: number };
+ pal: Palette;
+ fill: string;
+}) {
+ return (
+