How wesbos/3d-model-anything works
3D Model Anything combines an iPhone evidence-capture app, an agent-guided reconstruction workflow, and a Three.js viewer with interactive room physics. The main user journey is capture and export a room, use the scan-to-threejs skill to iteratively model and compare it, then inspect the resulting scene in viewer modes. Edges are limited to README statements and visible source-index references; several app and viewer capabilities are documented but their implementation was not sampled, so those links are omitted or marked unverified.
Main entry points: src/main.ts Viewer Entry · CaptureController.swift Capture Session · physics.ts Room Physics · play/main.ts Playground
Components 25
iPhone Capture
- Capture App
apps/house-capture/HouseCapture/HouseCaptureApp.swift - Capture Session
apps/house-capture/HouseCapture/CaptureController.swift - Photo Coverage
apps/house-capture/HouseCapture/CoverageEngine.swift - Scan View
apps/house-capture/HouseCapture/ScanView.swift - House Project
apps/house-capture/HouseCapture/HouseProject.swift - Scan Bundle
apps/house-capture/HouseCapture/ScanBundle.swift - PLY Mesh
apps/house-capture/HouseCapture/PLYMesh.swift
Reconstruction Workflow
- Coding Agent
- Scan-to-Three.js Skill
.agents/skills/scan-to-threejs/SKILL.md - Room Export
Room Viewer
- Viewer Entry
apps/room-viewer/src/main.ts - Room Assets
apps/room-viewer/src/asset-base.ts - Knolling View
apps/room-viewer/src/knolling.ts - Layout View
apps/room-viewer/src/layout.ts - Playground
apps/room-viewer/src/play/main.ts
Rendering Runtime
- Room Contract
packages/room-runtime/types.ts - Materials
packages/room-runtime/materials.ts - Lighting
packages/room-runtime/lighting.ts - Render Pipeline
packages/room-runtime/render.ts
Interactive Physics
- Room Physics
packages/room-physics/physics.ts - Player Controller
packages/room-physics/player.ts - Object Interaction
packages/room-physics/interact.ts - Physics Tagging
packages/room-physics/tagging.ts
Other components
- iPhone User
- Viewer User
Connections 28
- iPhone User → Capture App: scans rooms
README.md - Capture App → Capture Session: records evidence
- Capture Session → Photo Coverage: scores coverage
apps/house-capture/HouseCapture/CaptureController.swift - Capture Session → Scan View: updates view
apps/house-capture/HouseCapture/CaptureController.swift - Capture Session → House Project: saves project
apps/house-capture/HouseCapture/CaptureController.swift - Capture Session → Scan Bundle: writes bundle
apps/house-capture/HouseCapture/CaptureController.swift - Coding Agent → Scan-to-Three.js Skill: uses skill
README.md - iPhone User → Room Export: exports session
README.md - Room Export → Scan-to-Three.js Skill: provides scan
README.md - Scan-to-Three.js Skill → Coding Agent: guides modeling
README.md - Coding Agent → Viewer Entry: compares renders
README.md - Viewer User → Viewer Entry: explores rooms
README.md - Viewer Entry → Room Assets: resolves assets
apps/room-viewer/src/main.ts - Viewer Entry → Knolling View: collects inventory
apps/room-viewer/src/main.ts - Viewer Entry → Layout View: shows layout
apps/room-viewer/src/main.ts - Viewer Entry → Render Pipeline: prepares rendering
apps/room-viewer/src/main.ts - Viewer Entry → Lighting: configures rendering
apps/room-viewer/src/main.ts - Viewer Entry → Materials: uses materials
apps/room-viewer/src/main.ts - Playground → Room Physics: builds simulation
apps/room-viewer/src/play/main.ts - Playground → Render Pipeline: uses renderer
apps/room-viewer/src/play/main.ts - Playground → Lighting: sets lighting
apps/room-viewer/src/play/main.ts - Playground → Materials: uses materials
apps/room-viewer/src/play/main.ts - Room Physics → Room Contract: accepts room
packages/room-physics/physics.ts - Room Physics → Physics Tagging: reads tags
packages/room-physics/physics.ts - Player Controller → Room Physics: uses simulation
packages/room-physics/player.ts - Object Interaction → Room Physics: uses simulation
packages/room-physics/interact.ts - Object Interaction → Player Controller: uses controller
packages/room-physics/interact.ts - Render Pipeline → Lighting: uses lighting
packages/room-runtime/render.ts