8 Images
Drag it.
Problem
A file the web cannot open
A furniture merchant has a 3D model built for a rendering package and a product page built for photographs. The model is heavy — the demo firetruck is a megabyte of mesh before a single texture loads — and it arrives as one lump of geometry with no idea which triangles are the seat and which are the legs. The merchant also has real fabrics no renderer has heard of. 8 Images is what goes in between.
Materials
Maps are a stack, not a form
A material here is built, not uploaded. Six maps stack to make one: diffuse, normal, roughness, emission, metalness, transparency. The obvious interface is a form — a column of numeric fields, each abstract until you render. I argued for a layer stack instead, the way every graphics tool shows layers: one row per map, toggled and reordered, the cube updating as you tune it. Someone builds a real fabric by hand until it matches the sample in front of them, without ever learning what a normal map is called.
Normal map
Roughness
Emission
Playing itself — touch anything to take over
Models
The names that make a model shoppable
A model arrives as meshes named by whoever exported it. A shopper cannot point at Ladder Turret. Preparation is grouping those meshes into parts a person would ask for — seat, back, legs — and a material attaches to a part, not to the file. Paths become groups, because that is already what they are in every drawing tool. The naming is the work.
Parts
10 of 10Whole. Take a part off if you like.
Scenes
A set, and the photographs of it
One product on a white background is a swatch. Merchants sell sets. A scene puts several models in one space at the right size and position — chair to table, table to rug — so you can see whether the set holds together, and renders photographs out of that composition. It replaces the shoot: nobody photographs every finish in every combination.
What I got wrong
I designed for three screen sizes. Merchants have infinite.
I designed the player for desktop, tablet and phone. It reviewed well, because reviews happen at the sizes you designed for. A merchant's product column is none of those — it is whatever is left after their header and sidebar take what they need, and at those widths the menu overlapped the model and the thumbnail strip clipped. The fix was a custom size with a drag handle and a live pixel readout, and chrome measured against the container instead of a breakpoint.
Reflection
The 3D was the easy part
Two and a half years, and almost none of the work was geometry. It was vocabulary. The navigation was designed as Models and Showrooms — what the people who build 3D call these things — and it shipped as Products and Scenes, because the first pair quietly told furniture people the tool was not for them. Renaming primary navigation late is expensive, and it is the cheapest way to widen who thinks a tool is meant for them.