We recently shipped Shopify Design. Here's a technical breakdown of...

Here's a technical breakdown of how I built it. π§΅
Opted-in [data-layout] elements are batched-read (init + resize) and mapped to world space. Children are inferred from parent boxes when possible.
That same pass pulls computed styles and detects line breaks, so WebGL text wraps exactly the same. SDF keeps smaller text sharp at any scale.
Headlines go further: opentype.js extracts glyphs β each letter becomes its own extruded mesh with independent depth. WebGL syncs to native scroll.
DOM vs WebGL β
In flat mode the camera uses orthographic projection β mirrors the DOM.β¨
On press-and-hold, all 16 matrix values lerp toward perspective with a cubic ease. Content lifts, FOV widens. One lerp gives a webpage depth.
As you dive, they separate in depth. Block-noise βdata moshingβ displaces UVs per slice, while each color channel is sampled at slight offsets β creating the chromatic tearing through the image.
Noise octaves control the crackle (scaled per GPU tier).β¨
Additional passes layer in radial zoom blur, barrel distortion, and vignette β all synced to the transition.
The effect isn't just aesthetic, it's structural.β¨β¨
Final result slowed down β


