In reply to Victor Kane.

What do you mean by “ignored structured content”? Isn’t the attributes definition quite close to what Block Protocol calls a schema?

"attributes": {
"textAlign": {
"type": "string"
},
"content": {
"type": "string",
"source": "html",
"selector": "h1,h2,h3,h4,h5,h6",
"default": "",
"__experimentalRole": "content"
},
"level": {
"type": "number",
"default": 2
},
"placeholder": {
"type": "string"
}
},

versus
"properties": {
"color": {
"type": "string"
},
"editableRef": {
"type": "object"
},
"level": {
"type": "number"
},
"text": {
"type": "string"
}
},