themes/<id>/. Switch them in /admin/themes. One route tree for all themes — only skins and home templates change.
Built-in themes
Shared rules
- Apply snapshots the previous look into
theme_presetsand restores the target preset/seed — never overwrites SEO/content keys. - Preview with
/?__theme_preview=<themeId>(operator only, in-memory). - Chrome isolation via
html[data-storefront-theme="…"]. - Zip upload/export UI is hidden (
SHOW_THEME_PACKAGE_IO_UI = false).