I am using it in https://github.com/Displayr/rhtmlLabeledScatter which is a scatter / bubble plot library I have inherited and am heavily recfactoring. rbush has helped me clean up the collision detection logic used in the label placement algorithm.
I came across what I initially thought was a bug, but upon investigation it was me incorrectly using rbush.
The use case is that I am constantly moving the labels around, and checking for collisions. I observed that the remove call would not always remove the label rectangle. Upon investigating the remove implementation i realise that it optimises its tree traversal logic based on assumptions about the coordinates of the label rectangle. So if I change the x/y coords then call remove, sometimes the object would not get removed from the tree !
See the updates to the docs I made to hopefully save others some time.
Happy to change wording/format etc.
Thank you for the great library !
I am using it in https://github.com/Displayr/rhtmlLabeledScatter which is a scatter / bubble plot library I have inherited and am heavily recfactoring. rbush has helped me clean up the collision detection logic used in the label placement algorithm.
I came across what I initially thought was a bug, but upon investigation it was me incorrectly using rbush.
The use case is that I am constantly moving the labels around, and checking for collisions. I observed that the remove call would not always remove the label rectangle. Upon investigating the remove implementation i realise that it optimises its tree traversal logic based on assumptions about the coordinates of the label rectangle. So if I change the x/y coords then call remove, sometimes the object would not get removed from the tree !
See the updates to the docs I made to hopefully save others some time. Happy to change wording/format etc.