ThemeDocument Contract
Blocks have stable IDs, a registered type, visibility, and typed settings.
Unknown block types and invalid settings fail validation instead of selecting a
different implementation.
The backend supplies request data such as products, collections, locale, and
currency. Theme settings should never calculate final prices, stock, payment
eligibility, or checkout rules.