Rebuilds the component from a payload.
node is the node the component is about to be attached to, for the rare
component that needs it while constructing. Attaching is the caller's job:
instantiateScene calls node.addComponent on the returned instance.
A deserializer that attaches it itself is harmless — §6a's registry treats
re-adding the same instance as a no-op — but it is not required.
How one component type crosses the document boundary (§79).
Declared with method syntax on purpose: TypeScript's methods are bivariant in their parameters, which is what lets a
ComponentSerializer<PoseTarget>be stored in a registry that hands outComponentSerializer<Component>. The substitution is sound here because the registry is keyed bytypeName, so the component a serializer is handed is always an instance of the very class it was registered with.