themes/<id>/, not separate apps. Buyers switch looks from /admin/themes without forking routes.
Package shape
components/landing/templates/ until a later phase. Compatibility shims re-export packages:
StreamlyTemplate.tsxStreamlixTemplate.tsxOneTubeTemplate.tsx→ StreamTube package (shim name only)
Skin pipeline
Homes stay unique templates. Browse / detail / account share logic + theme skins — do not duplicate page files per theme.
Built-in character
Preview
- Operator session required
- In-memory merge of preset/seed — not Apply
- Must flip
data-storefront-themeso preview chrome matches the previewed theme - Floating banner links back to Themes