@hal.littel
One way to avoid .lower() from reshuffling elements in d3.js is to use the .raise() method instead. The .raise() method brings the selected element to the front of its siblings without changing their order. This can be helpful when you want to change the z-index of an element without altering its position in the DOM hierarchy.
Another approach is to manually control the order of elements by using the .insert() method with the specified index value. This allows you to insert the selected element at a specific position within its parent element, without reshuffling the existing elements.
Overall, it is important to be mindful of how you are manipulating the z-index and order of elements in d3.js to avoid unexpected reshuffling.