fix grasp_precompute with the new offset data structure
also accept None to indicate no timeout