block.json is the canonical block manifest. name uses the namespace/block-name form. apiVersion: 3 opts in to iframe rendering for parity with the front end.
Use render to point at a server-side render file for dynamic blocks. Use script, editorScript, style, and editorStyle to declare assets that auto-load via the block API.
Define attributes with typed sources — source: 'attribute' pulls from a DOM attribute; source: 'meta' binds to post meta.