/** * In case the `data` field is equal to `undefined` it means the component has been removed from the entity. */ export interface ComponentSyncData { data: TData | undefined; } export type ComponentsSyncPayload = { [componentName in string]: ComponentSyncData; }; export type WorldPayload = { [serverEntityId in string]: TComponents; }; export type ComponentsHydratePayload = { [componentName in string]: TData; }; /** * @shared */ export interface WorldPayloadResult { payload: WorldPayload; isEmpty: boolean; }