/** Snap world coordinates to discrete block grid for stable DB uniqueness. */
export function worldToGrid(x: number, y: number, z: number, blockSizeM: number) {
  const step = blockSizeM > 0 ? blockSizeM : 5;
  const grid_i = Math.round(x / step);
  const grid_j = Math.round(y / step);
  const grid_k = Math.round(z / step);
  return {
    grid_i,
    grid_j,
    grid_k,
    block_x: grid_i * step,
    block_y: grid_j * step,
    block_z: grid_k * step,
  };
}
