A strip that grows back
The last log ended on a finding: a defoliated ficus never put out new leaves. Growers strip a ficus in early summer to get new, smaller leaves within weeks, and the model just dropped the leaves and left the wood bare.
Now the buds in the axils of the stripped leaves break. For a ficus, three in four of them break between 7 and 14 days after the strip, as growers describe. For six weeks the tree's carbon store keeps the size its lost leaves gave it and pays for the first new leaves, since a bare tree earns nothing. A juniper does not bud from stripped foliage, and a cherry buds back partly.




Small leaves, at a small leaf's price
The new leaves came back full size at first, which is wrong: measured ficus regrowth leaves are about half as long and a quarter of the area. Now each new shoot's first three leaves grow at 40, 60 and 80 % of full length, and the fourth is full size.
That first version cost the tree half its leaf area, because a small leaf still cost a full node. So I went back to the literature. A ficus node is about seven tenths leaf and three tenths twig by weight, so a node with a small leaf costs less: the first three now cost 7.4, 9.9 and 13.5 mg instead of 18. The leaves left on a stripped tree also photosynthesise harder for a few weeks: 40 to 53 % more a week after half or more of the crown is taken, gone by six to eight weeks. The model now gives 42 % a week after the strip, fading over the six-week window.
| The stripped ficus, beside its unstripped twin | Leaf area back at six weeks | Store at its lowest |
|---|---|---|
| 10 October: new leaves, all full size | 63 % | 39 % |
| 11 October: small leaves, each at a full node's cost | 30 % | 21 % |
| 11 October: small leaves at their own cost, extra photosynthesis | 50 % | 35 % |
| Now: and leaves fall when they get old | 39 % | 30 % |
| What the research found | 20-50 % | falls, then refills within about four months |


Each rule is kept as a switch, so the tree can be grown again under any of them and compared.
Leaves that fall
Every leaf the model had ever grown was still on the tree. A ficus leaf lives about eight months; measured figs keep theirs about five to seven months. Research says a leaf stays while the light it gets still pays for it, so the oldest leaves, shaded by newer ones, go first. Computing light for every leaf in every game hour is costly, so the model uses age, which gives the same order along a shoot: oldest first, at 240 days for a ficus and four years for a juniper. A cherry node grows its leaf back for three springs and then stays bare, standing in for the spur its bud becomes. A falling leaf returns about a fifth of its carbon to the tree.
There was a catch. A tree stops growing new segments at 2,048, a limit that keeps the game fast, and with leaves falling, an unpruned tree at that limit would lose every leaf and starve. Real crowns shed twigs that carry no leaves, so the model does too: a twig is shed 60 days after its last leaf falls. A ficus grown to the limit at 250x speed now drops its old leaves, sheds 61 bare twigs and grows again at its edge.
| Every leaf for ever | Leaves fall | |
|---|---|---|
| Nursery ficus at normal speed, day 450 | 186 leaves | 58 leaves |
| Develop routine after two years | 409 segments, 400 leaves | 299 segments, 190 leaves |
| Ficus at the 2,048-segment limit, 360 days at 250x | 2,048 leaves | 61 twigs shed, 260 leaves |


Leaf counts from the slider include 42 fixed foliage points on the nursery stock. The juniper and the cherry grow exactly as before over two years: none of their leaves reaches its age limit in that time.
What the routines found
The refine routine strips the crown in its second June and cuts away its leafy sacrifice branch in December. With leaves falling, the crown goes into the strip with fewer leaves, and grows back one batch of leaves all the same age. It then grows little after the December cut, and that batch reaches 240 days together the next spring. By its third June the tree has none of its own leaves left.
The cause is older than this week: since 9 October a tree's growth budget follows its leaves, so a crown that has lost leaves cannot spend its stored carbon on new ones, except in the six weeks after a strip. Real trees fund their spring flush from those reserves. Whether to let the store pay for new leaves, which would change every tree, or to change the routine is an open decision.


Also since the last log
Between 10 and 11 October:
- The project moved to a new development PC (8 cores, an RX 9070 XT). Its checks reproduce the old machine's results to the bit, and up to eight run at once: the quick suite plus the two-year growth routines take about 11 minutes.
- A garden pruning check failed now and then: it waited a fixed 12 frames for the cut preview. It now waits for the preview itself.
- Five new checks cover the strip, the leaves' fall and twig shedding, and compare the GDScript and Rust copies through all of it.
What's next
- Decide whether a tree that has lost leaves can spend its store on new ones (research first; it changes every tree).
- Find a potted-cherry growth reference before tuning the cherry.
- Add wiring to the routines, since young junipers and figs are wired while they are whips.
What I learned
Before removing something that looks redundant, grow the old and new rules side by side. The first version of falling leaves also dropped a ring-wood allowance that looked like a stand-in for leaf replacement. It was also what kept branches thickening, and without it a young ficus stopped growing 150 days before its first leaf could fall. The side-by-side curves parted there and pointed straight at it.
Sources & development context
Based on House of Bonsai's source history and notes from 10 to 11 October: the check runner's records (runs 20261010-193110 to 20261011-210736; the final run 72 of 72), the growth slider's reports and captures (windowed runs at 1280 by 720 on the development PC), and the project's growth research log, sections 9 and 10, for the measured leaf sizes, costs, lifespans and regrowth. Model outputs, not field measurements; no package has been built since dev.42.
