|
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
With the specimen plates carrying the garden through the reading flow, the fixed-position bottom garden read as a glitch on mobile - stray petals poking out of the gaps between cards the whole way down. The garden and its grid ground now position absolutely against the document on mobile: clean paper while reading, and the full garden (with its live turtle) revealed only at the end of the scroll. Desktop keeps the fixed garden interleaved with the scattered panels. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| src | ||
| static | ||
| .gitignore | ||
| .npmrc | ||
| flowerworld-with-text.png | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| svelte.config.js | ||
| vercel.json | ||
| vite.config.js | ||
flowerworld.systems
The static homepage for Flowerworld: Post-Digital Systems of Meaning.
Built with SvelteKit + adapter-static. The page is fully prerendered at build
time and ships with client-side rendering disabled (csr = false), so the
browser receives a single HTML document (CSS inlined) — no JavaScript runtime.
The garden is generated by src/lib/garden.js with a seeded RNG during
prerender and shipped as inline SVG. The flowers are fully organic; the
digital appears only as the apparatus of representation — a plotter-turtle
cursor with a live coordinate readout and projection rays, which climbs each
live stem at constant pen speed and then loops forever, placing endlessly
blooming fountain petals at golden-angle steps.
All motion is pure CSS: the turtle's path is sampled at build time into
@keyframes that animate two registered custom properties (--tx/--ty);
the cursor, both rays and the readout all derive from them. Stems draw via
pathLength + stroke-dashoffset. Under prefers-reduced-motion the garden
renders finished and still, with the turtle parked at the bloom centre as a
static annotation.
Develop
npm install
npm run dev # local dev server
Build
npm run build # outputs static files to ./build
npm run preview # preview the production build
Deploy (Vercel)
vercel.json configures Vercel to run the build and serve the static build/
directory directly (framework preset disabled, so no serverless functions are
created). Just import the repo into Vercel — no extra settings needed.
Content
The copy lives inline in src/routes/+page.svelte (the panels array). Edit
the snippets there; everything is rebuilt on deploy. To reshuffle the garden,
change the seed values passed to buildGarden in the same file.