A web-based toy construction and simulation tool that lets users snap wooden pieces together, add spinning parts, and play with physics.

Stars

36

7-day growth

No data

Forks

11

Open issues

0

License

MIT

Last updated

2026-07-06

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It showcases cutting-edge WebGPU rendering (three.js), real-time physics (box3d.js), and video export via WebCodecs, all in a playful, shareable toy builder.

Who it is for

  • Web developers exploring three.js and WebGPU
  • Game developers prototyping physics-based interactions
  • Creative coders and hobbyists making virtual toys
  • Educators demonstrating 3D mechanics and physics

Use cases

  • Building and testing wooden toy mechanisms virtually
  • Creating shareable interactive 3D models with encoded URLs
  • Learning and experimenting with three.js WebGPU rendering
  • Prototyping simple physics-based games or puzzles

Strengths

  • Uses real-time WebGPU renderer with GTAO for high-quality visuals
  • Physics engine (box3d.js) enables realistic movement and collisions
  • Built-in 5-second video export and URL sharing of toy designs
  • LocalStorage saves progress automatically during building

Considerations

  • Requires a modern browser supporting WebGPU
  • Limited to a wooden block aesthetic with no custom materials
  • No multiplayer or collaborative building features

README quick start

Toys

A little toy maker. Snap wooden pieces together, make parts spin, then switch to Play and watch your toys come alive.

https://mrdoob.github.io/toys/

How to play

Build — Drag pieces from the palette onto the floor or onto your toy. Click a piece to select it: drag the orange handles to resize, S to make it spin, drag the teal pin to move the spin axis, D to duplicate onto the opposite side, delete to remove. Drag pieces to re-attach them, or drag the base piece to move the whole toy.

Playspace. Toys drop onto the floor and their motors start. Click a toy to focus the camera, R to reset. The eye in the toys list picks who's on stage.

Share — Records a five second clip and copies a link with the toys encoded in the URL. Everything is also saved to localStorage as you build.

Tech

  • three.js — WebGPURenderer, TSL wood material, GTAO
  • box3d.js — physics
  • WebCodecs and the three.js editor's MP4 muxer — video export

Related repositories

Similar projects matched by category, topics, and programming language.

react
Featured
react GitHub avatar

react

React is a JavaScript library for building user interfaces with declarative, component-based, and cross-platform design.

Web DevelopmentFrontend Frameworks
246,741
tandpfun
Featured
tandpfun GitHub avatar

wardrobe

A GPT‑image powered app that extracts individual garment cutouts from photos, organizes them into a digital wardrobe, and generates modeled outfit previews.

JavaScript
1,570
mshumer
Featured
mshumer GitHub avatar

Claude-of-Duty

A browser-based first-person shooter built entirely with procedural generation and orchestrated AI agents, featuring 55k lines of Three.js/WebGL2 code and no art assets.

AI & Machine LearningAI Agents
1,234