Each of the twelve plots blooms on its own real UK bloom window (rosemary flowers twice — Feb–May and again in early autumn — while borage and phacelia run almost all summer). A plot's bloom intensity ramps smoothly in and out of its window rather than switching on/off, so the garden always shows a season in transition rather than a slide-show.
Every bee re-plans continuously: it doesn't just fly to the nearest flower, it weighs each open plot by how much nectar/pollen that species actually offers, then samples a target with probability proportional to that weight — richer, currently-blooming plants pull far more visits than a stingy or dormant one.
P(plant i) = bloom_i(day) · reward_i / Σ_j bloom_j(day) · reward_j
dwell_i = 1.5s + 2.5s · (reward_i / 10)
- Day of year — scrub the season yourself to see bloom succession: rosemary and sage lead in spring, lavender/thyme/borage/echium/phacelia carry high summer, verbena and sedum close out early autumn.
- Season speed — auto-advances the day counter so succession unfolds on its own; set to 0 to freeze time and study one moment.
- Bee population — more foragers make the reward-weighted preference pattern statistically obvious faster.
- Dahlia bed toggle — switches the twelfth plot between a single-flowered dahlia (open nectaries, normal reward) and a double-flowered cultivar (extra petals block the nectaries almost entirely) — watch its visit share collapse when you switch to double.
Real-world relevance: this reward-weighted patch choice is the same principle behind optimal foraging theory — pollinators learn and exploit reward differences between flower species, which is exactly why a herb border of high-nectar plants like borage, echium and phacelia supports far more bee traffic than the same area of showy but nectar-poor ornamentals.