Theme packages use the JSON-contract bundle from `packages/theme-engine/src/theme-bundle.ts` and upload through `/v1/themes/packages/upload`. Liquid sections and blocks render through the LiquidJS-backed renderer in `packages/theme-engine/src/theme-renderer.ts`.
- `config/settings_schema.json` defines grouped editable settings.
- `config/settings_data.json` stores current and preset values.
- `templates/*.json` references section and block instances across home, product, collection, page, cart, and blog templates.
- `sections/manifest.json` and `blocks/definitions.json` define reusable section/block schemas.
- `renderer.engine = liquid` is supported for Liquid templates; JSON-contract sections remain the portable configuration layer.
- Merchant editor drafts are scoped by `template_key`, so editing Product does not overwrite Home.
- `locales/*.json` stores translation dictionaries.