fn collect_points_for_block( id_indices: &[(usize, (i64, Index2d))], block_id: usize, ) -> (Vec<Index2d>, Vec<usize>, Vec<usize>)
Shared helper: collects pos/idx/pids for a given block ID.