Related ToolsClaudeClaude CodeClaude For DesktopCursorCody

How One Developer Got Claude to Work With 3D Geometry

Claude by Anthropic
Image: Anthropic

Claude can write a React component or debug an API endpoint without breaking a sweat. Ask it to position a 3D object in space, and it falls apart. That gap between Claude's strong language skills and its weak spatial reasoning is something developer Dave Snider ran into head-first while building projects like Table Slayer and Counter Slayer - and his workaround is clever enough to be worth stealing.

The core problem: Claude cannot reason about 3D geometry the way it reasons about code. It does not understand where objects sit in a scene, how they relate to each other spatially, or whether a mesh looks correct. Feed it a Three.js codebase and ask it to move a component, and you will burn hours exchanging screenshots back and forth, manually confirming each change.

The Automated Validation Loop

Snider's solution is to build tooling that lets Claude check its own work. The workflow creates a self-contained loop: Claude makes a geometry change, generates an STL file (a standard 3D mesh format), automatically captures screenshots from multiple camera angles using Playwright, drops in red debug spheres as position markers, and then reviews the visual output before confirming the fix.

This eliminates the tedious human-in-the-loop screenshot exchange. Instead of you squinting at renders and saying "no, move it 10 units left," Claude can iterate on its own until the geometry matches what was requested.

The camera system supports preset angles (isometric, top-down, front, left) plus custom positioning and zoom, so Claude can inspect specific problem areas up close. It is basically giving the AI a set of eyes for a domain where it is otherwise blind.

Build the Shared Language First

The bigger takeaway goes beyond 3D. Snider's approach is to invest in project-specific tooling before expecting Claude to be productive. His CLAUDE.md files for each project define the exact commands, validation scripts, and workflows that Claude should use - creating what he calls "a shared language" between developer and AI.

This matches a pattern showing up across serious Claude Code users: the people getting the most out of AI coding assistants are not the ones with the best prompts. They are the ones who build scaffolding - automated tests, visual validators, structured output formats - that lets the AI verify its own output without constant human oversight.

For anyone doing Three.js or similar 3D web work with Claude, the specific recipe is: write scripts that generate meshes, capture multi-angle screenshots via Playwright, and pipe those images back into the conversation. It is extra setup, but it turns an unreliable workflow into a functional one.