Define custom block types directly in your frontend configuration via the blocks option in initBridge. No Volto plugin deployment required. Each block type needs an id, title, and a blockSchema with its field properties.
Child block types (like 'slide' above) must be defined at the top level of blocks. You can also:
Schema enhancers modify block schemas dynamically:
fieldRules: Add, remove, or conditionally modify field definitions.
If a block type has a fieldMappings defined it will enable a "Convert to..." UI action. You specify either conversions to a specific type, or to a generic search result schema (@id, title, preview-image, description):
Transitive conversions are performed automatically by using paths through intermediate types (e.g., hero -> teaser -> image). Any fields that don't match will still be kept in the data so if the block is converted back that data will reappear.