
Coding Agents Underestimate the Cost of Code They Own
Your coding agent just rebuilt a library you could have installed. Now every future change has to pay for that decision.

This is the personal blog of Ben Houston (bio here), a 3D computer graphics software developer. For a quick overview of the work I am proud of, see my portfolio. I've worked on projects like Web3DSurvey, Three.js, Deadline, Krakatoa, and Exocortex VFX plugins. I'm also an entrepreneur, having founded Land of Assets, Threekit, Clara.io, Exocortex, and Frantic Films Software.

Your coding agent just rebuilt a library you could have installed. Now every future change has to pay for that decision.
An IES file captures the shape of a real light, but opening it gives you a wall of numbers. I built ies-tools to make seeing that light as easy as opening an image.
Move the camera closer and the bumps get flatter: Three.js can change a material’s apparent depth without changing the material. The missing convention is simple—height needs a unit and a space.
A polished competitor isn't proof of a strong business. Lessons from Deadline, Clara.io, and Threekit on validating demand, assessing real threats, and pricing on value.
My texture-free sampler looked fine in real time, then made a light map bake 2.4× grainier. The failure exposed a trap in multi-dimensional sampling—and fixing it also uncovered an older bug in Three.js.
My AI-guided search for better blue noise began with a spectacular result that failed broader tests. The eventual sampler reduced filtered error by 10.7% in a Three.js reflection scene—but lost to FAST on rectangular-light shadows.
Your CLI already knows its commands and flags, yet its docs—and the agents using it—often have to reconstruct them. I built CliDoc to turn those same definitions into reference pages and a complete machine-readable description.
git-dedup is a drop-in replacement for git that shares one copy of Git history across all your clones, worktrees, and submodules. It made my agents start dramatically faster and cut my Git storage by 70%.
I built Vitest and Jest environments that give your tests real, GPU-backed WebGL and WebGPU contexts directly in Node.js. They use the same ANGLE and Dawn implementations as Chrome, so you get the same pixels without the overhead of launching a browser.
A cached page can still cost a full server render when it goes stale. ETag revalidation can skip that work in TanStack Start—but where you intercept the request determines how far your caching policy reaches.
A GPU supporting half precision doesn't tell you whether it will make your shader faster. I built WebGPU-Bench to put numbers behind that choice—and let coding agents test their performance assumptions, too.
You can put a phone-captured object into Three.js without building a mesh or unwrapping a single UV. Here is the route from a raw scan to a compact SPZ file—and the few lines that render it.