QR ROSES · SMIL

The pilot: the same garden, rebuilt as ONE animated SVG — no canvas, no JS animation, every motion declarative SMIL. The plate is a static group drawn once — not one module of the code moves, ever; roses and bees are animated elements layered over it. Stems rise, leaves arrive, blooms open late, then bees cross the code through its data middle — never the three finder squares — and every frame is decoder-gated. Reduced motion yields one still frame that still scans. Beside the canvas original, never instead of it.

THE GARDEN — declarative skin, frozen core

stems rise · leaves arrive · blooms open late · bees cross the data middle

THE CODE, FROZEN

what never moves
modules per side · ECC H · every frame scans
planting…
Provenance. Engine: QR-Code-generator by Project Nayuki (MIT), vendored whole — the same pin the canvas QR ROSES and QR TREE carry. The pilot law: the QR plate is a static SVG group; motion lives only in SMIL elements above it — zero JS runs per frame. Bees are solid, small, centre-band, and their frames are proven, not assumed — jsQR AND zxing read every sampled frame back to the exact URL. Roses never enter the quiet zone + 2 module widths. Reduced motion pauses the SMIL clock at the completed garden — a still frame that decodes. Instrument rule honoured: Friction (GPL-3.0) is USED, never forked, linked, vendored or copied from — this garden's art is hand-authored first-party SVG. One file, zero calls.
⌂ hub