const mix = (value: number): number => { value = Math.imul(value ^ (value >>> 16), 0x45d9f3b); value = Math.imul(value ^ (value >>> 16), 0x45d9f3b); return (value ^ (value >>> 16)) >>> 0; }; export const deterministicIds = (seed: number) => { let state = mix(seed >>> 0); return { next: (prefix = "id") => { state = mix(state + 0x9e3779b9); return prefix + "-" + state.toString(36).padStart(7, "0"); }, snapshot: () => state, }; };