1 Create tenant
Spins up a new client: the tenant row + its client_admin login. Everything after is scoped to it.
2 Add a fabric collection
A batch of swatches under one collection (series). Diffuse + thumbnail stored per fabric. Repeat per collection.
On upload, each photo is checked by a quick AI pass — swatches with a hand, tag, fold, steep angle or anything hiding the pattern are flagged so you can replace them.
3 Generate maps
One set per collection, shared across every swatch in it — so a batch of colourways generates maps once, from a representative image. Normal uses gemini-3-pro-image (retries on refusal; a valid flat map only as last resort — never a grey one).
Add a collection first.
4 Add a product
A model (chair/sofa/…): give it a key + name, a GLB (upload or reuse a shared one), and tick the collections it should offer.
5 Review
The catalog built so far for this tenant, read straight back from the store.
★ Preview
See a product wearing a fabric before you submit — pick a model, then click a swatch. Drag to orbit, scroll to zoom.
6 Submit for approval
Sends the built tenant for review — it does not go live until an admin approves it below.
7 Approvals admin
Tenants awaiting sign-off. Approving is the only path to live.