House of Bonsai · Development update

The garden through the window.

The grow room's window now looks onto the player's own courtyard, the trip outside is a short glide through it, and shaping a tree no longer asks for Enter: a bend is applied when you let go, a cut when you click, and Ctrl+Z takes either back until time passes.

Results

Final full check run on a rented A40, 8 October: 97 of 101 checks pass. The four: a links check that needs files from the development machine, one garden-day slice at 101 ms against a 100 ms budget under full parallel load, a travel check that timed out under load (its limit has been raised), and an intermittent renderer crash seen only under parallel load.

In-game capture from the development source, 8 October: the workbench with a young ficus, and through the clear lower panes of the window the real courtyard, its three empty stands on the left. The courtyard is drawn once from this eye and moved with the view.
In-game capture from the development source, 8 October: the workbench with a young ficus, and through the clear lower panes of the window the real courtyard, its three empty stands on the left. The courtyard is drawn once from this eye and moved with the view.

The preview nobody could see

Shaping used to work in two steps. A drag, a cut or taking wire off opened a preview, and Enter applied it. On the trunk and the main branches, the wood every new tree starts with, the preview's messages went to a text field nothing on screen showed. Letting go of the mouse did not end a bend, and until Enter or Esc the game refused other wood, watering, saving, the menu and the courtyard, with about fifteen differently worded messages. The same Enter that applied a bend also broke the branch.

Now each edit is applied as its gesture ends:

  • Letting go of a drag applies the bend once the branch reaches the pose. Esc or a right-click during the drag puts it back.
  • Held cutters show the cut ring wherever they point and, after a moment, the buds that cut would wake. A click cuts there.
  • W puts wire on or takes it off at once. Pinching, leaf removal, jin and lime sulfur apply at once.
  • Ctrl+Z, or an Undo button, restores the whole tree exactly, up to twelve edits, until a day passes.
  • Nothing waits on an edit in progress any more, and every edit says what happened on the hint line.
Red-handled cutters held at a ficus branch, two green markers on the stem below them.
Pointing the cutters. The ring marks the cut; green marks the two buds it would wake.
A ficus on the workbench with one branch outlined by a soft warm glow.
Selected wood. A warm rim glow; before, selection brightened the bark by about seven percent.
A wired ficus branch bent to a new angle.
A wired bend, applied by letting go of the mouse.
The ficus after a cut, with an Undo button above the tool dock.
After a cut, Undo appears and stays until time passes.

The garden through the window

The window behind the bench was a frosted pane over a placeholder: a soil slab, a low wall and ten thousand leaf shapes. It now shows the player's own courtyard, so what is built out there is what is seen while working in here.

Rendering the courtyard live would add a whole courtyard frame, 37.6 ms with three dense trees, to every bench frame. Instead the courtyard is drawn once from the bench's eye, carried into the matching window of the courtyard house, and each pixel of the glass looks that picture up along its own line of sight, so turning the pot moves the garden behind the glass. The picture is retaken when the player comes back in and when the light changes. The glass follows the snow-viewing screens of Japanese rooms: clear at eye level, frosted above. The morning view is at the top of this page.

The old workbench view with a soft green blur behind the window.
Before, 7 October: the frosted placeholder.
The workbench in the evening, the courtyard dark blue through the window.
Evening. The courtyard now shares the grow room's hour, through the window and when walked.
The bench view turned left; the courtyard behind the glass seen from a new angle.
Turned left. The garden moves behind the glass.
The bench view turned right; the far wall and gate seen at an angle.
Turned right.

Out through the window

Going outside was a cut. Now F2 glides the bench camera up to the glass, holds the picture while the courtyard comes up, and carries on from the same spot out onto the veranda, facing the tree just tended. Tending a tree reverses it and returns to the exact bench view the player left.

The camera faces the garden the whole way, so the view never flips, and the field of view eases between the bench's 39 degrees and the walker's 62 rather than jumping. Any key or click finishes the move, and the Reduce motion setting turns it into a dissolve. The switch itself still costs about a second and a half of work on the tree each way; the held picture hides it for now.

The camera close to the window, the bench tree at the bottom edge and the courtyard beyond the panes.
1. Up to the glass.
The view at the window as the courtyard takes over the frame.
2. Through the window.
The courtyard seen through faint window panes as the held picture fades out.
3. Arriving: the window’s picture dissolves into the courtyard.
Back at the workbench after tending a tree.
4. Back at the bench with the tree.

Cuts that look like cuts

Concave cutters now leave a shallow hollow in the cut face, about a quarter of its radius deep, and the woundwood that closes it rolls in unevenly, thicker on one side, with the same callus mass the growth model paid for.

Close-up of a fresh cut on a pale ficus branch.
Fresh cut, looking down the branch.
The same cut twenty days later, with a dark ring of woundwood around it.
Twenty days later (at the 50x test rate).

What a pruned tree should cost

Growers thicken a trunk by letting the tree grow and keep a branch they will later remove, a sacrifice branch, because wood follows the leaves. The potted tree did the opposite: pruning gave the trunk more wood, because a fixed share of the wood budget was divided among whatever stems were left. A probe grew the same fig under each candidate rule (20 days at the 250x test rate, then 40 days of each history).

RulePruned trunk wood / unprunedPruned leaves / unprunedSacrifice branch / prunedYoung tree at 1x, 30 days
Today: a fixed budget1.180.530.94115 mg
Budget scaled by leaf area1.290.810.81138 mg
Scaled budget, ring wood follows foliage0.930.830.90126 mg
Fixed budget, ring wood follows foliage, reserve kept0.500.531.40113 mg

The last rule is chosen: each stem lays ring wood in proportion to the foliage it carries (Pressler's rule), recalibrated on a sapling, with half the carbon store kept back so a stripped tree can flush again. It is not switched on yet, because grown trees then lay far more wood and every check and render built on the old rate has to be compared first.

Also since the last log

Between 5 and 7 October, each with its own automated check:

  • Regrowth after pruning: a bud below a cut leader takes over the line, stubs die back to a node, and stripping a tree drains a capped carbon store.
  • Roots fill the pot and limit the tree; lifting it shows the root ball, and repotting keeps its history.
  • Seasons on the player's own trees, including a cherry that forms flower buds on kept sites and blooms before its leaves.
  • Watching days pass at the game's own pace, stopping at the moments that matter, with an opt-in drip timer.
  • A tree journal with names, intentions and dated photographs; safe saves; comfort settings; quiet room and courtyard ambience.
  • Automatic mesh detail for distant trees, approved from side-by-side crops: the courtyard with three dense trees went from 64-100 ms frames to 37.6 ms.
Nine frames of a cherry on the workbench: grown out, a cut preview, leaf removal, the lifted root ball, repot choices, repotted, the bloom and the bloom after reloading.
Care tools, 8 October run: cuts, leaf removal, repotting and the cherry's bloom.

What's next

  • Switch on the new ring-wood rule and compare every pruning-history render against today's.
  • Move the tree work out of the frame, so travel stops hiding a second and a half behind a held picture.
  • Build the next playtest package and watch new players with it.

What I learned

When a confirmation step confuses people, first check that they can see it at all; here the cheapest fix was to remove the step and make every edit undoable. And when a model rewards the wrong thing, look at how a shared budget is divided before blaming the budget's size.

Sources & development context

Based on House of Bonsai's source history and notes from October 5 to 8: the check runner's records (final full run on a rented NVIDIA A40, 97 of 101, run 20261008-184935), the edit-flow, garden-window and place-transition checks with their captures, and the capacity-probe measurements (20 days at the 250x test rate, then 40 days per history, with watering assistance; model outputs, not field measurements). Frame times come from the A40 pod; no new standalone package has been built since dev.39, which is not a public download. A research report on the window and the transition (Japanese framed-garden practice, game precedents, Godot techniques, motion comfort) informed the design.

All House of Bonsai posts