type AuthorityUpdate
Everything an authority can tell a client, after it has accepted one.
entities carries SaveEntity because the replication set and the save set
are the same set (ADR-0007), and saying so in a type is worth more than
saying so in a comment. It is a fuller record than a 10 Hz stream wants to
resend — H4 can split it into a spawn record plus a delta without any of this
changing shape.
Type
{ kind: 'presence'; peers: number; streaming: boolean } | { entities: readonly SaveEntity[]; kind: 'entities'; tick: number } | { entities: readonly EntityId[]; kind: 'departed' } | { kind: 'closed'; reason: string }