optimization: rebuild triangle heap

instead of removing and reinserting items we just rebuild the heap