Watch an ambient 3D mowing scene in the browser
Study a small three.js plus Rapier physics integration
Use as a template for a calm idle web toy
Zen Robot Garden is a small 3D scene that runs in the browser, written in German on its README and playable directly from the project's GitHub Pages link. The page shows a tiny garden, like a diorama, with a lawn mowing robot that drives around on its own forever. There are no points and no way to win or lose. You just watch it. The author calls it calm and zen. What you see in the scene is a mower that moves on real wheel physics, bounces off the boundary wire and any obstacles in its path, and follows a guide wire back to its charging station when the battery runs low. The ground is a wavy 3D terrain with hills and dips. The grass is rendered in 3D and the mower actually cuts it, pressing it flat as it passes, and the cut track stays visible while the grass slowly grows back. A few daisies also grow and bloom in the garden. You can interact with the scene in a few small ways. The camera rotates and zooms with the mouse or touch. Clicking or tapping the robot lets you pick it up and drag it somewhere else, which is also how you rescue it if it stops outside the boundary wire. A short tap on the lawn drops a small twig, and the robot will steer around it. On the technical side, the project uses three.js for the 3D scene, the Rapier physics engine for driving, collisions, and gravity, Vite as the build tool, and TypeScript as the language. The README points to a CLAUDE.md file for the project description and a DESIGN.md file for design tokens. To run it locally you clone the repo and use npm install, then npm run dev for a live reloading development server, npm run build for a production build, and npm run preview to view the built output. Publishing goes through GitHub Pages: the build writes into the docs folder, which is committed to the repo, and Pages serves that folder directly from the main branch.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.