The direction
A bonsai is a long conversation with a living thing: you cut, bend and wait, the tree answers, and the answer gives you your next idea. The game already grows its trees from what you do to them, but too often the answer came weeks of watching later, or never visibly at all. A trunk thickens two to four millimetres a year in a pot, which at the bench's usual framing is less than two pixels a millimetre. A year of watching took thirteen separate watches for a ficus and over thirty for a cherry.
So the test for every feature from here: after ten minutes, can someone point to a change they caused, feel pleased or intrigued by it, and already want to try their next idea? The tree should feel like a collaborator. It responds to your choices, sometimes surprises you, and never has a correct shape it is waiting to be cut into.
That last part changes the manuals too. They now say what a choice does, never what is right. "Cutting every new tip keeps the tree small and slows its thickening" is useful. "An attractive outline" and "a finished bonsai" are gone.
Before and after, from the same camera
Press F7 at the bench, or Before / after on the tree's plaque, and the tree as it is now is laid over a picture of how it was, drawn from exactly the same camera. A wipe sweeps from before to now and settles on the trunk, the left half of the tree as it was and the right half as it is. Drag to move the wipe, Space flips between the two, 2 switches to a close-up of the trunk's base, and [ and ] step back through earlier pictures.
The bench takes the pictures itself: when you open the tree, when time starts after you have worked on it, and when time stops. It opens on what you most likely mean. After a cut, that is the tree before the cut; after a watch, the tree as you left it. Under the pictures is the change the model measured: the trunk's diameter at its base, new shoot length and foliage.
The journal's photographs could not do this, because each one is framed by the tree's own height, so a taller tree is photographed from further away and the growth scales itself out of the picture. Here the frame never moves. If you have turned the pot since, it is turned back for an instant while now is drawn, behind the view's dark backdrop, so you compare the same side, against the same room, in the same light.
| A ficus from the nursery, from 1 June | Trunk at the base | New shoots | Foliage |
|---|---|---|---|
| After 30 days | 5.0 → 5.3 mm (+6 %) | +15.9 cm | +23 % |
| After 90 days | 5.0 → 6.2 mm (+23 %) | +47.3 cm | +58 % |




A season in one watch
The watch card has a new span: To the next season, which runs to the next 1 March, June, September or December, up to 92 days, at the game's own pace. Its care is set on the card, in the open. As its manual says means the game reads the moisture probe at eight in the morning and seven in the evening and waters at the manual's mark until it reads 8, a cherry every morning while it is in leaf. Only what you set means exactly that.
It stops only for problems: flagging, injury, death, a wire biting into a thickening branch, or a ficus caught outdoors by the cold. Everything else that happened, such as the first new shoot or leaves turning, is named in the line that ends it, with how many times the tree was watered. Then the before and after opens by itself, from where the season began.
Nothing about growth changed. The model grows the tree exactly as it did; only the waiting got shorter. Multiplying growth rates was never the answer: tried at 365 times, one day gave a ficus less trunk than a real year does, the seasons did not move, and within two weeks the tree outgrew its pot.
| One summer, 1 June to 1 September | Ficus, growing room | Cherry, courtyard |
|---|---|---|
| Watches | 1 | 1 |
| Time on screen | 68 to 73 s | 70 to 72 s |
| Waterings, as the manual says | 20 | 159 |
| Trunk at the base | 5.0 → 6.3 mm (+25 %) | 5.0 → 7.4 mm (+48 %) |
| New shoots | +47.0 cm | +47.7 cm |
| Foliage | +64 % | +114 % |
| Before: watches for a whole year | 13 | 32 to 34 |


A tag on the pot
When a tree needs something, a paper nursery tag now hangs from the bowl's rim on your side: amber when to act soon (flagging, growth slowing, starving, too cold, a wire biting), red while tissue is being lost (injured, frost). The plaque's condition line becomes the same colour. A click on either, or Shift+M, opens a care card: what to do, and the tree's needs from its manual beside how it is kept now.
Measured over a year, a tree kept by its manual shows no red tag and almost no amber, and a neglected one shows its amber tag 46 to 123 hours before any injury. The first measurement also caught a false alarm. A young cherry kept exactly by its manual fills its training bowl by about day 57, and the tag would have asked for a midsummer repot for four months. Crowded roots are now a note on the card, repot when it next wakes, rather than a tag.


What every decision shows
Before building more, I traced every decision in the game through the code: what the tree does with it, how long until that shows, and what tells the player. Most of what is missing is feedback. The tree already does the thing, and the player cannot see it or connect it to what they did. A cut wakes buds, but the marks showing which ones vanish as you cut, and nothing later says they broke. A wire sets 78 % of a bend in 30 growing days and 95 % in 60, and nothing shows that progress. The real mechanic gaps are fewer: defoliating the nursery's own stock never re-leafs, a biting wire leaves no scar, there is no pot bigger than the training bowl to thicken a trunk in, and you cannot choose which roots to prune.
| Decision | What the tree does | What tells the player now | Missing |
|---|---|---|---|
| Cut | Wakes up to two buds; a stub dies back in 21 days | Marks before the cut, nothing after | Feedback |
| Wire | Sets 78 % of a bend in 30 growing days, 95 % in 60 | One moment when it bites | Feedback, and a scar |
| Remove leaves | Grown shoots re-leaf in one to two weeks | One line at the time | The nursery stock never re-leafs |
| Let a shoot run | The trunk below thickens twice as fast | Nothing, until the close-up above | Feedback |
| Repot | Growth waits while the roots regrow | One line | Choosing which roots; no bigger pot |
| Water | Leaves recover in about half a day | Flagging stays on the plaque for up to two days | Feedback |
| Seasons | A cherry blooms only when a midsummer check passes | Only when it succeeds | Feedback |
| Watching | A year took 13 to 34 watches | The season watch above | Started |
Leaders that thicken as they grow
A screenshot from a long session in the courtyard showed a juniper's leader tent-poling: a thin shoot standing on a thick stock. A real stem grows thicker and longer at the same time. The stock had been laying its supporting wood up to its own tip and stopping, so the leader that continued it got none. The stock and its leader now take that wood as one column, tapering from the top. The leader starts at 0.91 of the stock tip's radius instead of 0.67, and grows 40 % thicker while it grows 75 % longer. It is waiting for a last look before it goes in.


What's next
- Show what a cut did: keep the woken buds marked until each has a leaf, say when they break, and let a watch stop when your edit responds.
- Readouts on the plaque: the trunk's diameter and this year's gain, and how much a wired bend has set.
- Trees with a history: an inherited, neglected or storm-damaged starting tree with a note on where it came from, and no restoration target.
- Presentation as its own art: pot angle, viewing front, stones and space, work that needs no time to pass.
What I learned
A picture you mean to compare must come from a camera the renderer has actually moved. Godot hands a node's new position to the renderer at the end of the frame, so the first before-and-after pictures each came from where the camera had been for the previous one, the very first from inside the pot. A check that averages a whole picture cannot see one twig cut from it; measure where the change is. And a warning that fires for a tree kept exactly as its manual says is a false alarm, however true the condition behind it.
Sources & development context
Based on House of Bonsai's source history and notes from 17 October: the check runner's records (runs 20261017-183652 to 20261017-201214, with 20261017-143242 on the development PC), the before-and-after, season-watch, care-warning and leader studies' captures (windowed runs on a rented GPU at 1920 by 1080, shown cropped to the comparison's frame), the model's own measurements of trunk diameter, shoot length and foliage area, and two read-only audits of the game's code. These are game captures and model outputs, not field measurements.
