§81's "serialization types", first half: the §79 component-serializer
registry. This is the extension point serializer.ts was already written
against — "components serialize under registered type names; plugins
register theirs (§81)" — and the one that made §79 a promise the
repository could not keep until RFC 0002 landed.
Emphatically not revocable.ComponentSerializerRegistry.register throws
on a duplicate deliberately, because a silent overwrite would make the shape
of a document depend on module evaluation order; adding removal would re-open
exactly that hazard, in the form of a document written by one registry state
and read by another.
§81's "serialization types", first half: the §79 component-serializer registry. This is the extension point
serializer.tswas already written against — "components serialize under registered type names; plugins register theirs (§81)" — and the one that made §79 a promise the repository could not keep until RFC 0002 landed.Emphatically not revocable.
ComponentSerializerRegistry.registerthrows on a duplicate deliberately, because a silent overwrite would make the shape of a document depend on module evaluation order; adding removal would re-open exactly that hazard, in the form of a document written by one registry state and read by another.