React Fiber Tree: The Virtual DOM
Part 2 of the React Internals series. React stores UI work in fibers, schedules updates through queues and lanes, reconciles current and work-in-progress trees, and preserves state through keys and hook order.

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.
Part 2 of the React Internals series. React stores UI work in fibers, schedules updates through queues and lanes, reconciles current and work-in-progress trees, and preserves state through keys and hook order.
Part 1 of the React Internals series. A practical primer on components, elements, hosts, React's trigger, render, commit, and paint cycle, effects, the core hooks, and the immutability rules that let React skip work.
New in Node 25 is the node compile cache, which can deliver a 20% to 30% boost in server start-up time. I built `node-prewarm` to make that practical on real projects with minimal changes.
How I built the MaterialX Fidelity Suite, then used it to drive pixel-perfect MaterialX support in both Three.js and Blender — including custom noise node implementations that finally close the gap between reference renders and open-source tools.
MaterialX assets are multiple loose files, which breaks down in online, and collaborative contexts. The community has already solved this with zip packaging. We just need to formalize it as .mtlz.
After a decade building enterprise 3D visualization at Threekit, I've moved on to build Land of Assets, a product visualization platform built on open standards, with AI image generation running off those same assets.
Passwords are a shared-secret liability. Here is how to build a modern passwordless auth flow using Email OTP and Passkeys (WebAuthn), without storing passwords.
A tiny, type-safe Google Analytics integration for TanStack Router and TanStack Start with automatic page views, typed GA4 helpers, and clean SSR-friendly setup.
Today, I built a pure-TypeScript Zstandard implementation (library + CLI + dictionary training + interop tests) in just 4 hours using OpenAI Codex 5.3.
How frustration with Trigger-Action Lists in production 3D tools led me to build behave-graph, champion it at SIGGRAPH, and help drive the KHR_interactivity glTF standard.
Why Land of Assets chose glTF over USD as the backbone for their Master Asset approach to ensure long-term interchangeability.
3D on the web has exploded. The infrastructure to support it hasn't kept up. Here's why I built Land of Assets to fix that.