I suggest that you make it clear that @property can override a definition, which I understood from reading other issues, whereas registerProperty() can not:
If property set already contains an entry with name as its property name (compared codepoint-wise), throw an InvalidModificationError and exit this algorithm.
This suggests that they are equivalent to running multiple
registerProperty()
with the same name:https://drafts.css-houdini.org/css-properties-values-api/#at-property-rule
I suggest that you make it clear that
@property
can override a definition, which I understood from reading other issues, whereasregisterProperty()
can not: