Skip to content
ML2

3D Model Anything: turn an iPhone room scan into an editable Three.js scene

Added NewCopyable prompt below

Published Last verified Released

Our verdict

The most practical scan-to-3D workflow we've seen for coding agents: instead of dumping a mesh, the agent models each object as editable Three.js geometry and keeps checking its render against the photo taken from the same camera spot. It is not one-click. You need a LiDAR iPhone or iPad, you build the capture app yourself in Xcode (there's no App Store release yet), and the README calls it an iterative reconstruction workflow that currently focuses on rooms and interiors. Code and skill are MIT; the bundled office images have separate asset terms. Wes Bos says big measurements came out within about an inch; we have not run it ourselves.

Who it's for
Front-end and Three.js developers, makers, and people who want a walkable 3D model of a room, office or rental for the web
Leverage
An editable, version-controlled 3D room built by your agent from a phone scan, instead of hours of manual modelling
Effort
High
Date added

What it does

The repository (wesbos/3d-model-anything) holds three pieces. The 3D Model Anything iPhone app records LiDAR room geometry and hundreds of photos, then exports a capture bundle. The scan-to-threejs skill (.agents/skills/scan-to-threejs) guides an agent through measurement, modelling and matched-camera visual comparisons, using Python helpers (Pillow for photo comparisons; NumPy and Open3D for optional depth reconstruction) and the agent-browser CLI for captures. A Three.js viewer (Node.js 22.12+) lets you explore the result in dollhouse, walking, overhead, wireframe and knolling views. Only Wes's office demo is distributed; your own scans stay local.

How builders use it

  • Clone the repo and run npm ci then npm run dev to explore the office demo at localhost:5188.
  • Build the capture app in Xcode with your own signing team (see apps/house-capture) and scan a room on a LiDAR iPhone or iPad.
  • Export the session through the share sheet and extract it into data/captures-in/<room>/.
  • Open the repo in an agent that loads local skills and ask it to use scan-to-threejs on that folder, then keep pushing it on objects that don't match the photos.

What to expect

A room you can walk through in the browser, made of editable Three.js objects you can rearrange, restyle or reuse, rather than a frozen scan mesh.

Copy this: Setup + agent ask

# Official source: github.com/wesbos/3d-model-anything (MIT code; separate asset terms)
git clone https://github.com/wesbos/3d-model-anything
cd 3d-model-anything
npm ci
npm run dev   # office demo at http://localhost:5188

# After scanning with the iPhone app and extracting the export to data/captures-in/my-room:
Use scan-to-threejs to rebuild the room in data/captures-in/my-room. Inspect the measurements and photos, create an editable scene, and compare rendered views with the original photographs.

Related discoveries

See the newest picks →
  • ToolCreative & Media

    OpenFilm: editable videos from your coding agent

    MIT skill and local editor that lets Claude Code, Codex or another coding agent write a video as web pages, then lets you change any part of it by hand.

    NewEffort: LowPrompt#Video#Open source

  • ToolCreative & Media

    HyperFrames: HTML videos from a coding agent

    Apache-2.0 framework that turns HTML, CSS and seekable animations into deterministic MP4s, with agent skills for Claude Code, Codex and Cursor.

    NewEffort: MediumPrompt#Video#Plugin / extension

  • ToolCreative & Media

    Pele: Mermaid diagrams as themeable SVG

    MIT Mermaid-to-SVG renderer from the Obsidian team: synchronous, zero runtime deps, styled with CSS variables.

    NewEffort: LowPrompt#Image#Open source

Want more like this?

Practical discoveries, without the noise.