explaingit

robin7331/zen-robot-garden

Analysis updated 2026-06-24

14TypeScriptAudience · developerComplexity · 3/5Setup · easy

TLDR

A browser-based 3D scene built with three.js where a lawn-mowing robot drives around a small garden forever, with physics, growing grass, and no scoring.

Mindmap

mindmap
  root((zen-robot-garden))
    Inputs
      Mouse and touch
      Tap to drop twigs
      Drag robot
    Outputs
      3D garden scene
      Cut grass tracks
      Robot path
    Use Cases
      Watch an ambient mowing scene
      Learn three.js with physics
      Demo Rapier collisions
    Tech Stack
      three.js
      Rapier
      Vite
      TypeScript
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Watch an ambient 3D mowing scene in the browser

USE CASE 2

Study a small three.js plus Rapier physics integration

USE CASE 3

Use as a template for a calm idle web toy

What is it built with?

three.jsRapierViteTypeScript

How does it compare?

robin7331/zen-robot-garden0xbebis/hyperpayalfredxw/nova
Stars141414
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyhardmoderate
Complexity3/55/53/5
Audiencedeveloperdeveloperwriter

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

In plain English

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.

Copy-paste prompts

Prompt 1
Clone the repo, run npm install and npm run dev, then open the local URL to see the robot mowing
Prompt 2
Edit the boundary wire so the garden becomes a long rectangle instead of the default shape
Prompt 3
Change the daisy growth rate so flowers bloom faster after the mower passes
Prompt 4
Add a second robot that follows its own guide wire and avoids the first one
Prompt 5
Build to the docs folder and confirm GitHub Pages serves the production version from the main branch

Frequently asked questions

What is zen-robot-garden?

A browser-based 3D scene built with three.js where a lawn-mowing robot drives around a small garden forever, with physics, growing grass, and no scoring.

What language is zen-robot-garden written in?

Mainly TypeScript. The stack also includes three.js, Rapier, Vite.

How hard is zen-robot-garden to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is zen-robot-garden for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.