A Three.js recreation of the Deadlock character select screen.
Rendering Pipeline
GLTF Model Caching
Interactive experience
Post-Processing: Bloom & SSAO
The Learning Curve
Transitioning from standard DOM elements to a WebGL context required a shift in how I handle "State"—synchronizing Alpine.js UI buttons with Three.js Scene objects.