export type Process = (id: string, delta: number) => void; export const entityProcessMap = new Map(); export const entityBlueprintMap = new Map>(); export function defineEntity( name: string, blueprint: T, ): (fn: Process) => void { entityBlueprintMap.set(name, new Map(Object.entries(blueprint))); return (fn) => { entityProcessMap.set(name, fn); }; }