Repository navigation
Changelog
-
The garden's own checks now prove the growth rate shown on the page matches the slope the garden actually earns, across seasons, plant milestones, lasting bonuses and pollinator visits.
-
The garden's own self-check now tests the Replant confirmation end to end: it opens the dialog and reads the lasting bonus it promises, declines it, confirms it and checks the fresh garden that results, and proves a garden below the wall is never asked at all.
-
The time rehearsal can now be closed again — a Close the rehearsal button (and a close-sandbox tool) returns the page to the real garden, and the self-check now restores every value it changed so nothing of it is left behind.
-
The rehearsal panel now draws the sandbox's own garden beside its values, with the live plot's renderer and palette, so fast-forwarding, tending and planting are seen, not only counted.
-
The replant agent tool now previews what a replant would reset and keep — and changes nothing — until a call explicitly confirms, matching the page's Replant / Keep growing confirmation.
-
The rehearsal panel now shows whether a pollinator is visiting and one row per kind (seeds, plants, next seed) using the garden's own labels, so a rehearsal can be sized up at a glance.
-
Plots the visitor sows by hand now carry a small standing sign — a pale board on a dark stake in the soil's own tones — so a garden they worked reads differently from one they only watched, and it clears with the plot on a replant.
-
The readout now keeps a saved record of your own visit — how long it has lasted, how many plots you sowed by hand and how many times you tended — kept apart from the garden's own growth and its away-sown seeds.
-
Every plot of soil in the picture now carries its own low bed edge, and a bed whose plots are all planted is closed by a lit rim, so the drawn garden can be counted plot by plot against the 'Plots of soil' beside it.
-
The plot's ground now reads as plain earth: the soil's stray weeds, fallen autumn leaves and the low ground cover are drawn in the soil's brown tones only, so only real seeds and plants carry green, and the cover stays far shorter than a sprout.
-
A kind that has reached a plant milestone now wears a golden crown on its grown plants, so the doubled output is drawn on the plot and not only stated in the readout.
-
A return now keeps its plot marks and 'New since you left' row until you tend, plant, open a bed or press the new Dismiss control — they no longer vanish on a 30-second timer.
-
A load can be undone once: the garden a load replaced is kept, and Restore previous garden (also the restore-save tool for agents) brings it back with the same growth, seeds, plants, beds, lifetime and lasting bonus — without changing the save string.
-
A returning visitor now meets the drawn garden first, with the season and next goal it reports still on the phone's first screen; the return's facts read as labelled values beside the numbers instead of as a block over the plot.
-
The Herb and Bloom rows in the garden readout now read as short labelled values — Seeds, Plants, Per plant, Next seed, Milestone and To go — laid across the full width so each row is two lines on a phone instead of four packed ones.
-
After time away the garden now reports what it earned, matured and sowed, any season or pollinator change, and the next goal as short label-and-value lines that fit in a couple of rows on a phone instead of one long sentence pushing the garden and its actions down the page.
-
An old garden now looks lived-in: the plot draws aged ground, a stone wall and cairns from the garden's lifetime growth, so a replanted plot keeps reading as established instead of as fresh soil.
-
Each seed, herb, bloom and the pollinator on the plot is now its own recognisable sprite, so the picture alone says what is growing and roughly how much.
-
Load save now shows what a pasted save holds beside the live garden — growth, seeds, plants, beds and lifetime — and changes nothing until you press Load now, on the page and through the import-save tool alike.
-
The drawn garden now fills the garden card — a full-height plot on desktop, the tallest element on a phone's first screen — with the numbers sized around it.
-
The Season row now reads as short labelled values — the season's name, the growth it gives the garden and the kind it favours — and no longer repeats the pollinator's schedule, which the Pollinator row states on its own.
-
A growing control that cannot be used yet stays reachable and, when pressed, says why in the garden's status line — the missing growth or the full plot — instead of sitting inert.
-
The next goal now shows its progress as short labelled values — growth saved against the cost, time to the next seed or bed, and time to the next plant — instead of a sentence, so the plot, actions and goal all fit a phone's first screen.
-
The garden now shows the pollinator's home: a hive on the plot whenever grown plants stand there, with the bee resting on it between visits and out working the plants, pollen in the air, during a visit — so the picture alone shows a pollinator lives here and whether it is busy now.
-
Planting a seed, opening a bed, replanting or a refused action is now spoken to a screen-reader user even while Save & rehearsal is closed, in the same words a sighted visitor reads.
-
The pollinator now keeps to the year's rhythm: each season sets how often it visits and how long it stays, stated in the season and pollinator readouts and in get-state.
-
The Rehearse time sandbox can now be tended, planted and opened like the real garden: its own Tend, herb and bloom Plant buttons and Open the next bed act on the rehearsal copy, updating its readout, goal and summary and resetting back to the moment it opened, without ever touching the real garden or its save.
-
The pollinator row now reads as short labelled values — whether one is visiting and its boost, the visit length (and how long it stays when visiting), what each bloom adds and the maximum visit — instead of a bracketed formula to decode.
-
A fresh garden's goal now names Tend the soil and what one tend earns, and only switches to the next seed's cost and time once growth is arriving.
-
Each seed kind now has plant-count milestones (herb at 10/25/50, bloom at 15/30/60) that double its output the moment they're reached; each kind's row names its next milestone and how many plants remain, and the boost is derived from the plants grown, so it survives a reload or a return.
-
Screen readers now hear the garden's discrete events — a goal becoming affordable, a new form, a pollinator arriving and a return — once each, instead of the growth total and garden form being read again on every tick.
-
Time away now spends the garden's earned growth on herb seeds in every free plot and lets them mature, so returning from an absence finds a visibly taller garden; the return account names how many seeds were sown as well as how many matured, and a full garden just keeps banking.
-
Herbs now thrive in spring and blooms in summer: the year moves which seed is worth planting, each kind's boost shows in the season line and the growth rate, and a return across a season boundary says which kind's growth changed.
-
Once a garden has grown far enough, Replant starts a fresh garden that keeps the lifetime growth and grows at a lasting bonus earned from everything the old one produced, with a plain-DOM confirmation naming exactly what resets and what is kept.
-
The garden's plant count now means the same thing everywhere — the total grown plants of both kinds — so the readout, the return account and the time-away simulation can never disagree, and a garden of only blooms reports its pollinator visit just as a herb garden does.
-
A fresh visit now starts growing on its own within seconds: the starting seed matures in 3s, so the garden reaches its first named form well inside half a minute, and Tend updates the growth and rate on screen immediately.
-
Returning after a long absence now visibly marks the plants that matured and any new form on the garden itself, with a labelled 'New since you left' readout that clears once you act.
-
Each grown bloom now keeps the pollinator on the plot 10s longer, up to a 2m 30s cap; the pollinator readout, return summary and agent state say how long the visit lasts and how many blooms are keeping it.
-
The garden plot now reads as one continuous patch of earth, its cells varied with furrows, damp patches, pebbles and stray weeds that change with the season.
-
On a phone the garden now opens with the plot, the next goal and the growing buttons on the first screen — the long readout moved below them, complete and one scroll away.
-
The plot now fills with the garden's own growth — ground cover spreads across the soil as growth rises, so a garden with few plants and a thousand growth looks thriving instead of nearly bare.
-
The garden now keeps a lifetime growth total that survives a replant, shown beside the lasting bonus a replant right now would earn — and both are readable by agents.
-
The garden plot now changes with the season — winter's bare muted branches, spring blossom, summer's deep green, and autumn's turned amber foliage with fallen leaves.
-
The garden plot now breathes — leaves sway, buds open and the pollinator drifts — drawn from the same state the numbers read, with a single static frame when reduced motion is preferred.
-
The garden now turns through winter, spring, summer and autumn, each season growing it at its own rate and a return that crosses a season boundary saying so in the welcome-back summary.
-
The garden-form line now names the next form the garden is growing into and shows a slim meter filling toward its threshold, with the same goal (nextFormName, growthToNextForm, formProgress) reported through get-state.
-
A second kind of seed, bloom: costs more, earns five times a herb and takes longer to mature, with its own button, readout, sprites, goal naming and agent tool support, and old saves migrate without losing a plant.
-
Growth totals, rates, seed and bed costs and goal labels now read compactly (12.3K, 4.5M, 1.1B) above 10,000, so the garden stays readable at a glance however large it grows, while smaller amounts still read exactly as before.
-
A pollinator now drifts into a garden with grown plants, is drawn as a bee on the plot, and speeds growth x2 for a while before it leaves — knowable from the readout and from agents.
-
The garden fits one screen — paragraphs replaced with labels and numbers, the readout compacted into a grid, Save & rehearsal folded away, and every number still reachable to a screen reader.
-
Titles now use Silkscreen and all other text uses Pixelify Sans, replacing the wide, hard-to-read Press Start 2P; both fonts are embedded in the page and credited under the SIL Open Font License, and the two main actions sit on one row at desktop.
-
Added a Rehearse time sandbox: open a copy of the garden and fast-forward it by an hour, a day or a month to see what time away would grow — without ever touching the real save — from the page or the agent tools.
-
The garden no longer runs out of room: when every plot holds a seed the goal becomes the next bed of soil, spending growth opens it, the plot visibly widens, and agents can open a bed and read the beds, plots and next bed's cost.
-
A planted seed now lands as a sprouting seed that matures into a grown plant after 30 seconds — only grown plants speed the garden up, so "Ungrown seeds" and "Grown plants" both change, the plot shows a sprout becoming a plant, and time away matures seeds exactly as played time would.
-
The garden now keeps growing while you are away — close the page and come back to a garden grown by all the time that passed, with a plain note saying what was earned, what form it reached and what to aim for next.
-
The garden can now plant more seeds — each one costs growth (rising with every seed) and makes the garden grow faster, with the next seed always shown as a progress meter and time away, from the page or an agent tool.
-
The garden now draws its growth as pixel art beside the readout: a logarithmic, thresholded form map (bare soil → a sprout → … → a wild garden) shown on the soil, named in a new 'Garden form' readout and in the plot description, so the picture and the numbers can never disagree.
-
Tend the soil to earn growth and start a rate that keeps the garden's number climbing on its own, shown as '+x/s' beside the total.
-
Shipped the garden's first page: bare soil and one ungrown seed, drawn beside its quantities in plain text and numbers, with a portable save you can copy out, reload, and load back — and an agent tool layer that reads the same state.
-
The garden has a face: a single fixed pixel palette, a self-hosted pixel font that makes no network request, matching crisp panel and button styles, and a first seed counter to plant.